如何使用xpath表达式选择父节点兄弟节点内的节点?

时间:2018-03-26 18:56:06

标签: xpath

我试图根据父节点兄弟中的已知文本选择节点。为了更清楚,我的HTML具有以下结构:



<k>
	<l>Known</l>
</k>
<k>
	<l>Desired</l>
</k>
&#13;
&#13;
&#13;

我的尝试:

//k//following-sibling::*[text()="Known"]

返回:

  

已知

为什么?

1 个答案:

答案 0 :(得分:2)

这是因为基本上您选择k的任何后代并使用文字Known

(你实际上匹配l,因为它是它之前的空白的兄弟。如果删除空格(包括换行符),你的xpath可能不会返回任何东西。)

尝试选择以下第一个兄弟k ...

//k[l='Known']/following-sibling::k[1]/l