我有這樣的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