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

Bog*_*van 3 xpath

如何选择任何节点一个具有节点b里面是这样吗?

给出以下三个XML文档:

<a>
    <b></b>
</a>
Run Code Online (Sandbox Code Playgroud)

要么

 <a>
    <c>
        <b></b>
    </c>
</a>
Run Code Online (Sandbox Code Playgroud)

要么

   <a/>
Run Code Online (Sandbox Code Playgroud)

我想要选择前两个文档中的a元素.

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

小智 11

a[descendant::b]
Run Code Online (Sandbox Code Playgroud)

更准确,更有效率

a[.//b]
Run Code Online (Sandbox Code Playgroud)

等于

a[self::node()/descendant-or-self::node()/child::b]
Run Code Online (Sandbox Code Playgroud)


Jef*_*tes 5

你应该试试:

//a[.//b]