希望有人能帮忙
<root>
<a>
<b>1.00</b>
<c>
<d/>
</c>
</a>
<a>
<b/>
</a>
</root>
如果仅当父节点有D节点时,我才能获得b的值,我该如何构造XPATH表达式
也就是说,在前面的示例中,我将只获得第一个b的值,因为第二个a节点没有a /c/d
发布于 2014-07-15 16:47:40
试试//*[.//d]/b
即任何b
节点,具有d
后代的任何节点-- *
-的子节点
发布于 2014-07-15 16:52:20
您需要使用谓词来过滤
/root/a[c/d]/b
例如,从root
元素开始,找到它的所有具有c/d
的a
子元素,最后提取这些过滤后的a
元素的b
子元素。
https://stackoverflow.com/questions/24763601
复制