考虑遵循XML:
<parent no=1>
<child id=10>
<child id=101>
</child>
<child id=102>
<child id=10201>
I want this line.
</child>
</child>
</child>
</parent>
<parent no=2>
...
</parent>
我想获取id = 10201的元素child的值,该值在parent no = 1下,而不是通过指定所有路径。我的意思是我不希望以这种方式获得节点:
parent[@no=1]/child[@id=10]/child[@id=102]/child[@id=10201]
相反,因为我有每个孩子的ID我应该能够直接通过一个条件获取节点,如下所示:
parent[@no=1]/*/child[@id=10201]
我该怎么做?
答案 0 :(得分:1)
一种方法
//child[@id = 10201 and ancestor::parent[@no = 1]]
和另一个,就像你想的那样
//parent[@no = 1]//child[@id = 10201]