如何从内部条件中的外部节点访问属性?

时间:2012-11-12 20:14:55

标签: xpath

我想执行以下XPath: / Configs / Category / InputMenu / Config [@Value ='DualPack'和(/ Configs / Category / MasterSlave / Config [@No = ./@No]/@Value ='Master')]

“[@ No = ./@No]”部分中的“./@No”来自/ Configs / Category / InputMenu / Config @ No,而不是来自/ Configs / Category / MasterSlave / Config @ No

如何指定./@No来自该外部节点?

谢谢 - 戴夫

1 个答案:

答案 0 :(得分:1)

在XPath 2中,您可以使用for来模拟XQuery:

/Configs/Category/InputMenu/Config[@Value = 'DualPack' and (for $no in ./@No return /Configs/Category/MasterSlave/Config[@No = $no]/@Value = 'Master')]

否则你可以转过来,检查No属性是否等于一个具有Master值的元素的No属性(而是检查具有相同No属性的一个元素的值是否为Master)。

/Configs/Category/InputMenu/Config[@Value = 'DualPack' and @No = /Configs/Category/MasterSlave/Config[@Value = 'Master']/@No]