0

我想执行以下 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 来自该外部节点?

谢谢 - 戴夫

4

1 回答 1

1

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

/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]
于 2012-11-12T23:47:07.517 回答