...
<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>
答案 0 :(得分:2)
在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::*)
]