【问题标题】:Get multiple attributes from one node从一个节点获取多个属性
【发布时间】:2013-09-27 12:44:01
【问题描述】:

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

【问题讨论】:

    标签: c# html image alt


    【解决方案1】:

    您的某些图像没有alt 属性。检查是否为空。

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

    【讨论】:

    • 感谢您的回答,但我收到一条错误消息,提示 HtmlagilityaPack 不包含值的定义...
    • @GregoireDumas 一个错字。我编辑了答案。它应该是Value,而不是value
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多