我需要解决这个问题。我有一个像这样的XML:
<root>
<CustomLines>
<Custom>
<VAR1>00001</VAR1>
<VAR2>5</VAR2>
</Custom>
<Custom>
<VAR1>00001</VAR1>
<VAR2>2</VAR2>
</Custom>
<Custom>
<VAR1>00003</VAR1>
<VAR2>9</VAR2>
</Custom>
<Totals>
<Tot>
<VAR3>00001</VAR3>
</Tot>
<Tot>
<VAR3>00003</VAR3>
</Tot>
</Totals>
</CustomLines>
</root>
我需要做两组(00001和00003(,然后为每组求和VAR2。
结果是这样的:
00001 7
00003 9
我尝试过,但无法对2个自定义节点进行分组。
我不认为只使用XPath 1.0就可以做到这一点,但可以使用XPath 2.0:
for $var3 in //VAR3 return concat($var3,' ',string(sum(//Custom[VAR1=$var3]/VAR2)))