我需要选择FOO类型的所有父节点,其中BAR节点是子节点,BAR节点具有以X开头的属性A.
e.g。在下面的示例中,我想选择FOO(id = A),因为我有一个BAR,其属性A以X开头。
<rumba>
<latin>
<FOO id="A">
<BAR id="1" A="XYZ" />
<BAR id="2" A="ABC" />
</FOO>
</latin>
<salsa>
<FOO id="B">
<BAR id="3" A="UVW" />
</FOO>
</salsa>
</rumba>
我很确定这可以在XPATH中完成,但是我无法解决这个问题。
答案 0 :(得分:4)
//FOO[BAR[starts-with(@A, 'X')]]
答案 1 :(得分:1)
我还没有对这些进行测试,但我认为它们应该有效。
如果您的上下文节点是BAR
,您可以使用它来查找具有您描述的特征的父级:
../FOO[BAR[starts-with(@A, "X")]]
或者,如果您要在整个文档中搜索符合条件的FOO
个节点,您可以使用:
//FOO[BAR[starts-with(@A, "X")]]