我有以下XML
<T1>
<amount>100</amount>
</T1>
<T1>
<amount>100</amount>
<T1>
...
现在我应该将所有金额节点值加到一个变量或元素
我对这个领域很陌生
请建议可能的XSLT1.0代码
我希望输出为<total>200</total>
答案 0 :(得分:0)
使用sum()并捕获所有数量的节点
<xsl:value-of select="sum(//amount[. != ''])"/>
答案 1 :(得分:0)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:variable name="mySum" select="sum(//T1/amount)"/>
<xsl:template match="/">
<total>
<xsl:value-of select="$mySum"/>
</total>
<!-- <anothMethod>
<xsl:value-of select="sum(//T1/amount)"/>
</anothMethod> -->
</xsl:template>
</xsl:stylesheet>