所以我有以下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中存储任何变量,我就无法理解如何解决它们。
答案 0 :(得分:2)
我不确定我是否正确理解了您的问题,如果以下解决方案无法按预期运行,请告诉我
//people/person[@id=//group[@groupId="g01"]/member/@refId]/name/text()
如果父{1}}节点的name
值位于来自@id
个节点的person
列表中,则应该允许您获取@refId
member
group