[英]How to get last parent node with ancestors xpath in html agility pack
如何在 HTML Agility Pack (HAP) 的 HTML 文档中使用祖先 XPath 获取最后一个父节点? 例如,我有一个 HTML 文档,请检查以下内容:
<html>
<body>
<div>
<div>
<div>
<a>
<h3>
</h3>
</a>
</div>
</div>
</div>
</body>
</html>
我需要在 HAP 中获取最后一个父节点及其祖先路径。 比如上面HTML文档的XPath是
/html/body/div/div[1]/div[2]/a/h3
预计 xpath 将是
/html/body/div/div[1]/div[2]
请注意,我需要动态获取预期的 Xpath - 而不是手动硬编码值。 例如,基于最后一个元素,我需要使用祖先路径获取父级。
幸运的是,Html-Agility-Pack 带有一个 XPath 属性和一些方法来获得你想要的东西。
因此,以某种方式选择一个 HtmlNode,移动到父节点并检索祖先 XPath(通过 Linq 从第一个/最后一个),如下所示:
htmlNode.ParentNode.Ancestors().FirstOrDefault().XPath
要获得第一个祖先,最后一个像这样
htmlNode.ParentNode.Ancestors().LastOrDefault().XPath
或迭代祖先。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.