<tr> 使用 HtmlAgilityPack 访问 中某个属性的值



我正在抓取一个网页,我发现在节点的OuterHTML中访问<tr>标记内的属性值有问题。

<tr data-descr="Revit+SA+regression+-+Obj" data-ids="2571302">

上面的HTML包含属性data-ids,我试图得到的值。下面是访问网页的代码(我想指出,由于网页不向公众开放,我非常抱歉缺乏可复制的示例),并到达包含我想要调查的某些关键字的节点。

HtmlWeb web = new HtmlWeb();
HtmlDocument document = web.Load("WebPageIsPrivate");
HtmlNode[] nodes = document.DocumentNode.SelectNodes("//tr")
.Where(x => x.InnerHtml.Contains("Revit") & x.InnerHtml.Contains("regression")).ToArray();
在这一点上,我认为我可以使用nodes.OuterHtml.ToString()来获得上面的HTML。然而,这意味着我必须替换字符串的字符,直到只剩下2571302(在本例中)。我想知道是否有更简单的方法得到这个值。

如果这篇文章对读者来说不够清楚,需要更多的细节,请让我知道——我会尽我所能提供。关于这个主题的文件也非常受欢迎。

谢谢。

foreach (HtmlNode item in nodes)
{
x.Add(item.Attributes["data-ids"].Value);
}

这个成功了。

最新更新