所以我有以下 XML:
<root>
<people>
<person id="a01">
<name>Jack</name>
</person>
<person id="a02">
<name>George</name>
</person>
</people>
<groups>
<group groupId="g01">
<member refId="a01" />
<member refId="a02" />
</group>
</groups>
</root>
我正在寻找 groupId g01 的组中所有人员的姓名。我想做的是:
//name[@id=//group[@groupId='g01']/member/@refId]/text()
但显然它不起作用。
查找属性时能否使用表达式?那我该如何解决我的问题呢?
我真的很困惑,因为当出现 xpath 问题时,它总是涉及 idrefs,如果我无法在 xpath 中存储任何变量,我只是无法理解如何解决它们。
最佳答案
我不确定我是否正确理解了您的问题,所以请告诉我以下解决方案是否无法按预期工作
//people/person[@id=//group[@groupId="g01"]/member/@refId]/name/text()
如果父 person
节点的 @id
值在 @refId 列表中,这应该允许您获取
值,这些值是具有 name
来自 member
节点的 @groupId="g01"
group
的子节点
关于xml - Xpath 寻找属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48307532/