选择一个内部有任何元素的元素

时间:2009-02-17 17:55:26

标签: xpath

如何在其中的任何位置选择任何节点 b 的节点 a

给出以下三个XML文档:

<a>
    <b></b>
</a>

 <a>
    <c>
        <b></b>
    </c>
</a>

   <a/>

我希望选择前两个文档中的 a 元素。

显然, a [// b] 不是解决方案。

2 个答案:

答案 0 :(得分:11)

a[descendant::b]

更准确,更有效率
a[.//b]

等于

a[self::node()/descendant-or-self::node()/child::b]

答案 1 :(得分:2)

你应该尝试:

//a[.//b]