xpath返回xml节点,其中某个索引的属性值为

时间:2016-11-30 03:33:06

标签: xml xpath

这是xml的一部分。

<row>
  <boolean>true</boolean>
  <integer>1476589279770</integer>
  <integer>1475964900000</integer>
  <string nil="true"/>
  <integer>24</integer>
  <string>GYMC Sprint 1</string>
  <integer>5</integer>
  <integer nil="true"/>
  <boolean>true</boolean>
  <integer>1474755356654</integer>
</row>
<row>
  <boolean>false</boolean>
  <integer nil="true"/>
  <integer>1479136680000</integer>
  <string nil="true"/>
  <integer>47</integer>
  <string>TJI Sprint 1</string>
  <integer>24</integer>
  <integer nil="true"/>
  <boolean>true</boolean>
  <integer>1477923500196</integer>
</row>
<row>
  <boolean>false</boolean>
  <integer nil="true"/>
  <integer nil="true"/>
  <string nil="true"/>
  <integer>48</integer>
  <string>TJI Sprint 2</string>
  <integer>24</integer>
  <integer nil="true"/>
  <boolean>false</boolean>
  <integer nil="true"/>
</row>

这是我到目前为止的xpath:这将返回先前的数据。

//data[@tableName='AO_60DB71_SPRINT']/row[integer='24']

我的困难在于这里的节点具有相同的名称不止一次发生。我是一个新的xpath和xml,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

我现在已经解决了。由于HTML XPath - How to select a node based on children's value per index?我能够理解如何做到这一点。这是解决方案:

//data[@tableName='AO_60DB71_SPRINT']/row[normalize-space(integer[4])='24']