我有这样的XPath表达式不起作用C#htmlagilitypack XPath的帮助
"//div[child[0]::h4[text()[contains(.,'Dir')]]]/a"
为了解析这个网站:
<div class="txt">
<h4 class="c1">
Dir
</h4>
<a href="/name/myname/">Bob</a>
</div>
我想获得在链路节点(A)。文档中还有其他html标签具有相同的div/h4层次结构,唯一的区别是h4标签的内文。那么如何检查div类(1)是否具有带有内部文本“dir”的子h4节点以及(2)获取第一个链接节点(a)。不要以为这个链接是h4的下一个兄弟。
你非常接近,但你不能把一个谓语在轴上,所以'孩子[0] ::'不正确。如果你想要'div'的第一个'h4'子元素,你可以使用'// div [child :: h4 [1] [text()[...]]/a',或者只用'// div [ h4 [1] [text()[...]]/a',因为'child ::'对于元素是隐含的。如果'h4'必须是第一个子元素,然后'// DIV [* [1] /自:: H4 [...]]/A'。 – LarsH