繁体   English   中英

如何在html敏捷包中使用祖先xpath获取最后一个父节点

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM