用HtmlAgilityPack计算特定的子节点 [英] Count specific child nodes with HtmlAgilityPack
本文介绍了用HtmlAgilityPack计算特定的子节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想选择所有 li $ c $
I have lot of trouble with this XPath selction that i use in HtmlAgilityPack.
我在使用HtmlAgilityPack的XPath选择方面遇到了很多麻烦。嵌套在另一个 li
巫婆有 a
标签的
这是html样本:
I want to select all li
elements (if they exist) nested in another li
witch have a
tag with id="menuItem2"
.
This is html sample:
<div id="menu">
<ul>
<li><a id="menuItem1"></a></li>
<li><a id="menuItem2"></a>
<ul>
<li><a id="menuSubItem1"></a></li>
<li><a id="menuSubItem2"></a></li>
</ul>
</li>
<li><a id="menuItem3"></a></li>
</ul>
</div>
这是我一直在使用的XPath。当我失去这部分 / ul / li
时,它会得到我想要的 a
标记,但我需要他
this is XPath that i been using. When i lose this part /ul/li
, it gets me the a
tag that I wanted, but i need his descendants... This XPath always returns null.
string xpathExp = "//a[@id='" + parentIdHtml + "']/ul/li";
HtmlNodeCollection liNodes = htmlDoc.DocumentNode.SelectNodes(xpathExp);
推荐答案
以下XPath应该可以工作。
The following XPath should work.
string xpathExp = "//li/a[@id='" + parentIdHtml + "']/following-sibling::ul/li";
这篇关于用HtmlAgilityPack计算特定的子节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文