1

使用 xpath /levels/level[@id="3"]/value,我可以获得 id=3 的 level 值,如下所示:

<levels>
     <level id="2">
          <value>25</value>
     </level>
     <level id="3">
          <value>33</value>
     </level>
     <level id="4">
          <value>44</value>
     </level>
</levels>

但我正在阅读的 XML 的格式没有像这样的属性:

<levels>
     <level>
          <id>2</id>
          <value>25</value>
     </level>
     <level>
          <id>3</id>
          <value>33</value>
     </level>
     <level>
          <id>4</id>
          <value>44</value>
     </level>
</levels>

第二个 XML 块的等效 xpath 是什么,它将获得 id=3 的 level 的值?(不保证 id=3 永远是第二个节点。)

4

2 回答 2

2

以下情况如何:

/levels/level[id/text() = "3"]/value

或者

/levels/level[id/. = "3"]/value
于 2013-04-25T11:44:24.670 回答
1

更简单/更短

/*/*[id = 3]/value
于 2013-04-25T14:35:20.723 回答