使用XPath 1.0,并给出以下XML:
<Root>
<Line ID="1">
<Key>1</Key>
<Value>10001</Value>
</Line>
<Line ID="2">
<Key>2</Key>
<Value>10020</Value>
</Line>
<Line ID="3">
<Key>1</Key>
<Value>10300</Value>
</Line>
<Line ID="4">
<Key>2</Key>
<Value>14000</Value>
</Line>
</Root>
我需要能够对与要检查的“当前”行的键匹配的所有行的值求和。因此,假设上下文为/Root/Line[2]
,则总和应为24020。
不幸的是,使用下面/前面的兄弟轴会导致无法返回引用原始的“self”来预测密钥。例如:following-sibling::Line[Key=./Key]/Value
将返回10300而不是14000,因为.
是兄弟轴上的当前节点。我无法弄清楚我将如何引用原始背景?