Xml 单个Xpath查询中的属性和相对位置?
我试图设置一个Xpath查询,它不仅搜索具有特定属性的节点,还搜索它的相对位置,而不是它在XML中的实际位置 例如:Xml 单个Xpath查询中的属性和相对位置?,xml,xpath,Xml,Xpath,我试图设置一个Xpath查询,它不仅搜索具有特定属性的节点,还搜索它的相对位置,而不是它在XML中的实际位置 例如: <room> <child gender="female"> <name>Anne</name> </child> <child gender="female"> <name>Mary</name> </child> <ch
<room>
<child gender="female">
<name>Anne</name>
</child>
<child gender="female">
<name>Mary</name>
</child>
<child gender="male">
<name>John</name>
</child>
<child gender="male">
<name>David</name>
</child>
</room>
安妮
玛丽
约翰
大卫
我想说明哪个性别和孩子的相对位置。所以在我的情况下,我想要文件中的第二个男性
/room/child[@gender=“male]
只给了我所有男性,如果/room/child[position()=2]
会导致玛丽被拉
我已经想出了一个解决方案,根据每个人的位置给他们另一个ID属性,并可以用一个简单的
/room/child[@gender=“male”和@ID=“2”查询这个属性"
但这需要我做大量工作才能返回到所有文档中并添加第二个属性,而不是尽可能使用单一的简化Xpath。我也意识到我可以通过查询获取男性,然后查询结果的位置,但我还是希望尽可能只保留一个查询。你有问题巧妙地寻找://child[@gender='male'][2]
是的,这似乎正是我所需要的。非常感谢!