Получить несколько атрибутов из одного узла

0

Я пытаюсь извлечь два атрибута с одного узла img, но есть NullReferenceException, выделенная строка не работает, и я не могу понять, почему:

var imageCollection = doc.DocumentNode.Descendants("img");
foreach (HtmlNode imageNode in imageCollection)
{
    var imageLink = imageNode.Attributes["src"].Value;
    var something=imageNode.Attributes["alt"].Value; // !!!

    if (Regex.IsMatch(imageLink, "1280.jpg"))
    {
        urls.Add(imageLink);
        //Date.Add(something);
    }
}

и html-код:

<img src="imageurl" alt="http://bbc.in/ZWwFHt" width="610" height="610">
Теги:
image
alt

1 ответ

3
Лучший ответ

Некоторые из ваших изображений не имеют атрибута alt. Проверьте, является ли оно нулевым.

var alt = imageNode.Attributes["alt"];
if(alt!=null)
{
    var something = alt.Value;
}
  • 0
    Спасибо за ответ, но я получаю сообщение об ошибке, в котором говорится, что HtmlagilityaPack не содержит определения значения ...
  • 0
    @GregoireDumas Опечатка. Я отредактировал ответ. это должно быть Value , а не value .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню