2
...
<h>unique-1</h>
<a>data</a>
<b>data</b>
<a>data</a>
<h>unique-2</h>
...
我需要兩個h
節點之間的所有數據。我可以指出h
節點與//h[.='unique-1']
,但無法找到引用如何<h>unique-1</h>
和<h>unique-2</h>
選擇同一級別上兩個節點之間的所有元素
...
<h>unique-1</h>
<a>data</a>
<b>data</b>
<a>data</a>
<h>unique-2</h>
...
我需要兩個h
節點之間的所有數據。我可以指出h
節點與//h[.='unique-1']
,但無法找到引用如何<h>unique-1</h>
和<h>unique-2</h>
選擇同一級別上兩個節點之間的所有元素
之間進行選擇的所有節點在XPath 2.0,你可以結合使用intersect
運營商與following-sibling
和preceding-sibling
軸:
//h[.='unique-1']/following-sibling::*
intersect //h[.='unique-2']/preceding-sibling::*
在XPath 1.0,你可以用一個 「Kaysian intersection」 模擬intersect
操作:
//h[.='unique-1']/following-sibling::*[
count(.|//h[.='unique-2']/preceding-sibling::*)
= count(//h[.='unique-2']/preceding-sibling::*)
]