我正在使用一些XML,它将所有数据保留在属性中。我需要提取它来处理数据。所以我们有这样的东西:
<data>
<level1>
<level2 att1="1">
<level 3>
<level 4 att2="a" att3="b" att4="c" />
</level 3>
<level 3>
<level 4 att2="1" att3="2" att4="3" />
</level 3>
</level 2>
<level 2 att1="2">
因此,我需要第4级条目及其值的所有属性,但仅需要att1 = 1的第2级条目。我是XPath的新手,所以我还没有解决。到目前为止,我想出的最好的方法是:
/data/level1/level2[@att1='1']/level3/level4[@*]
但是返回空数据。任何帮助将不胜感激。
答案 0 :(得分:1)
要获取所有所需的属性值,只需对XPath表达式进行如下更改(删除最后一个谓词以直接访问属性):
p2=[0,1,0]
遍历此表达式的节点集会为您提供所有所需的值,如果需要,还可以提供其属性的名称。