我试图根据父节点兄弟中的已知文本选择节点。为了更清楚,我的HTML具有以下结构:
<k>
<l>Known</l>
</k>
<k>
<l>Desired</l>
</k>
&#13;
我的尝试:
//k//following-sibling::*[text()="Known"]
返回:
已知
为什么?
答案 0 :(得分:2)
这是因为基本上您选择k
的任何后代并使用文字Known
。
(你实际上匹配l
,因为它是它之前的空白的兄弟。如果删除空格(包括换行符),你的xpath可能不会返回任何东西。)
尝试选择以下第一个兄弟k
...
//k[l='Known']/following-sibling::k[1]/l