请考虑以下示例xml。
<Groups>
<Group id="01" check="true">
<name>Value</name>
<age>test</age>
<setData>
<data type="module">module</data>
<data enabled="true">true</data>
</setData>
</Group>
<Group id="02" check="true">
<name>Value</name>
<age>test</age>
<setData>
<data type="module">module</data>
<data enabled="true">true</data>
</setData>
</Group>
</Groups>
我想使用路径表达式获取setId中GroupId = 1中启用的值。 下面是我的尝试。这是解决该问题的临时方法,但会在数组中查找位置。
String groupId = "1"; //to make group id dynamic.
String pathExpression = "Groups/group[@id='"+groupId+"']/setData/data[2]/text()"
相反,我想通过赋予属性名称“ enabled”来获取值,以便它将检查名称而不是位置。
答案 0 :(得分:2)
您已经使用正确的语法通过属性值获取group
,因此也只需对data
元素执行类似的操作,除了不需要检查属性值,只需它存在.....
String pathExpression = "Groups/group[@id='"+groupId+"']/setData/data[@enabled]/text()"