分享
三行代码  ›  专栏  ›  技术社区  ›  Jacob Wolfe

属性和相对位置在单个Xpath查询中?

  •  0
  • Jacob Wolfe  · 技术社区  · 1 周前

    我试图设置一个单独的Xpath查询,它不仅搜索具有特定属性的节点,而且搜索它的相对位置,而不是它在XML中的实际位置。

    <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" and @ID="2"

    1 回复  |  直到 1 周前
        1
  •  1
  •   SomeDude    1 周前

    您可能正在寻找: //child[@gender='male'][2]