从一个节点获取多个属性

时间:2013-09-22 15:18:42

标签: c# html image alt

我正在尝试从一个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">

1 个答案:

答案 0 :(得分:3)

您的部分图片没有alt属性。检查它是否为空。

var alt = imageNode.Attributes["alt"];
if(alt!=null)
{
    var something = alt.Value;
}