HTML Agility pack +按内部文本选择节点

时间:2014-08-14 19:40:20

标签: c#-4.0 xpath html-agility-pack

我已经掌握了使用html敏捷包来查找使用其属性和xpath的特定节点。问题是,我已经为我的每个项目手动执行此操作(打开网站html并扫描具有我需要的文本的节点)。有没有办法通过内部文本选择单个节点?这样可以更轻松地为内容方案相同的网站编写更新脚本,但属性标记会随时间更改值。提前谢谢!

1 个答案:

答案 0 :(得分:3)

如果你提供了示例HTML会更好,但是由于你没有,我们假设我们有包含这个标记的HTML:

<body>
    <div class="foo">bar</div>
</body>

您可以使用HtmlAgilityPack&#39; s <div>和XPath选择SelectSingleNode()的属性,如下所示:

myHtmlDocument.DocumentNode.SelectSingleNode("//div[@class='foo']");

或者您可以通过内部文本选择相同的内容,如下所示:

myHtmlDocument.DocumentNode.SelectSingleNode("//div[.='bar']");

希望得到这个帮助。