如何在其中的任何位置选择任何节点 b 的节点 a ?
给出以下三个XML文档:
<a>
<b></b>
</a>
或
<a>
<c>
<b></b>
</c>
</a>
或
<a/>
我希望选择前两个文档中的 a 元素。
显然, a [// b] 不是解决方案。
答案 0 :(得分:11)
a[descendant::b]
比
更准确,更有效率a[.//b]
等于
a[self::node()/descendant-or-self::node()/child::b]
答案 1 :(得分:2)
你应该尝试:
//a[.//b]