考虑此XML
我想对“数量”中的所有值求和,对于那些缺少值的行,我想使用默认值1,00
我以前问过一个问题,跳过没有数量的行 (Need to summarize nodes where data can be empty)。
得到了一个很好的答案
sum(/Top/Lines/Line[string(@Quantity)]/number(translate(@Quantity, ',', '.')))
如何调整上面的代码以适应我的新要求?
谢谢
/ M
<Top>
<Lines>
<Line ID="1" Quantity="1,00" />
<Line ID="2" Quantity="11,00" />
<Line ID="3" Quantity="" />
<Line ID="4" Quantity="" />
<Line ID="5" Quantity="10,00" />
</Lines>
</Top>
答案 0 :(得分:0)
假设您仍在使用XPath / XSLT 2.0,则可以:
sum(/Top/Lines/Line/(if (string(@Quantity)) then number(translate(@Quantity, ',', '.')) else 1))