我有一份文档,类似于这样:
<root>
<A node="1"/>
<B node="2"/>
<A node="3"/>
<A node="4"/>
<B node="5"/>
<B node="6"/>
<A node="7"/>
<A node="8"/>
<B node="9"/>
</root>
使用xpath,如何选择紧随给定A元素的所有连续B元素?
类似于following-silbing :: B,但我只希望它们是紧接着的元素。
如果我在A上(node == 1),那么我想选择节点2。 如果我在A上(node == 3),那么我不想选择任何内容。 如果我在A上(node == 4),那么我想选择5和6。
我可以在xpath中这样做吗? 编辑:它在XSL样式表select语句中。
编辑2:我不想使用各种元素上的节点属性作为唯一标识符。 我包括节点属性仅用于说明我的观点。 在实际的XML文档中,我没有用作唯一标识符的属性。 xpath“following-sibling :: UL [preceding-sibling :: LI [1] / @ node = current()/ @ node]”键入节点属性,这不是我想要的。
current()
来定位相对逻辑语句真是太有帮助了。 - Michael Shopsin