XSLT - 使用For的每个节点值的总和

时间:2017-11-25 20:17:09

标签: xml xslt xslt-1.0 xsl-fo

我有以下XML

    <T1>
    <amount>100</amount>
    </T1>

    <T1>
    <amount>100</amount>
    <T1>
...

现在我应该将所有金额节点值加到一个变量或元素

我对这个领域很陌生

请建议可能的XSLT1.0代码

我希望输出为<total>200</total>

2 个答案:

答案 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>