如何解决使用 HtmlAgilityPack 在 <tr> 中访问某个属性的值
我正在抓取网页,但在访问节点 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);
}
这就完成了工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。