希望有人可以提供帮助
<root>
<a>
<b>1.00</b>
<c>
<d/>
</c>
</a>
<a>
<b/>
</a>
</root>
我如何制定一个XPATH表达式,只有当父节点有一个D节点时才能得到b值
即,在上一个例子中,我只得到第一个b的值,因为第二个节点没有得到/ c / d
答案 0 :(得分:1)
尝试//*[.//d]/b
即。任何b
节点,任何节点的子节点*
- 具有d
后代
答案 1 :(得分:1)
您需要使用谓词来过滤
/root/a[c/d]/b
即。从root
元素开始,找到所有a
个c/d
子项,并最终提取这些已过滤的b
元素的a
子元素。