我想找到一个 XPath 表达式来选择节点,其属性“a”值存在并且是它们的属性“b”和第一个祖先的“a”值的串联,属性“a”存在,或者这样的节点,它们在层次结构中排在第一位,具有属性“a”。
<A a='TOWN/'>
<B>
<C a='TOWN/STREET' b='STREET'>
<D a='TOWN/STREET' b='STREET'>
<E a='TOWN/STREET/HOUSE' b='STREET'></E>
<F a='TOWN/STREET/HOUSE' b='HOUSE'>
<G a='TOWN/STREET/HOUSE' b='HOUSE' ></G>
</F>
</D>
</C>
</B>
</A>
Xpath 应该只选择我试过的元素 A、C 和 F \\*[(@a = concat(ancestor::*[@a][1]/@a,'/',@b)) or (not(ancestor::*[@a])]
,但它不能按预期工作。
你能帮忙吗?谢谢你。