如何获取以下兄弟姐妹的编号和姓名

how to get the number and the name of the following sibilings

在 xpath 中有什么方法可以计算标签的以下兄弟姐妹并获得兄弟姐妹的名字吗??

我尝试了以下方法来计算以下兄弟姐妹:

Expression xpath2 = dog.addXPath("count(//node[@lat='53.0337395']
[@lon='8.8489255']/following-sibling)");

但它 returns 0 我希望得到,因为有以下三个元素:

<tag k="maxspeed" v="30"/>  
<tag k="maxspeed:zone" v="yes"/>
<ele k="maxspeed:zone" v="60"/>

而且我不知道如何获取节点的以下兄弟姐妹的名称。

xml:

<?xml version='1.0' encoding='utf-8' ?>
<osm>
<node id="25779111" lat="53.0334062" lon="8.8461545"/>
<node id="25779112" lat="53.0338904" lon="8.846314"/>
<node id="25779119" lat="53.0337395" lon="8.8489255"/>
<tag k="maxspeed" v="30"/>
<tag k="maxspeed:zone" v="yes"/>
<ele k="maxspeed:zone" v="60"/>
<node id="25779114" lat="53.334062" lon="8.841545"/>
<node id="25779117" lat="53.338904" lon="8.84614"/>
<node id="25779110" lat="53.33795" lon="8.489255"/>
<tag k="maxspeed" v="32"/>
<tag k="maxspeed:zone" v="no"/>
</osm>

您可以使用following-sibling::node()查找following-sibling轴上的所有类型节点(元素节点、注释节点、文本节点、处理指令节点)或following-sibling::*查找所有元素该轴或 following-sibling::tag 找到该轴上的所有 tag 元素。

计数第一组兄弟姐妹称为标签。

count(//node[@lat='53.0337395' and @lon='8.8489255']/following-sibling::tag[following-sibling::node])

但如果指向的节点在第一个集合中,它将起作用。但如果从第二组中取出节点,它将给出零,因为它们没有 following-sibling::node