我在 HtmlAgilityPack 中使用的 XPath 选择遇到了很多麻烦。
我想选择全部li
嵌套在另一个元素中的元素(如果存在)li
女巫有a
标记为id="menuItem2"
。
这是 html 示例:
<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
我想要的标签,但我需要他的后代...这个 XPath 总是返回 null。
string xpathExp = "//a[@id='" + parentIdHtml + "']/ul/li";
HtmlNodeCollection liNodes = htmlDoc.DocumentNode.SelectNodes(xpathExp);
以下 XPath 应该可以工作。
string xpathExp = "//li/a[@id='" + parentIdHtml + "']/following-sibling::ul/li";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)