我在变量中加总值时遇到了麻烦。
XSLT来源
<xsl:variable name="amountIn" xml:space="preserve">
<values>
<xsl:for-each select="ext:node-set($finData)//child::balance/@in">
<value><xsl:value-of select="."/></value>
</xsl:for-each>
</values>
</xsl:variable>
XML来源:
<source>
<balance dpt="-1" diff="0,00" out="555777,00" in="555777,00" acnt="2120"/>
<balance dpt="-1" diff="0,00" out="777778,00" in="777778,00" acnt="2240"/>
<balance dpt="-1" diff="0,00" out="878787,00" in="878787,00" acnt="2380"/>
<balance dpt="-1" diff="0,00" out="87878787,00" in="87878787,00" acnt="2400"/>
</source>
我希望这能给我结果,但我得到的只是“NaN”
<xsl:value-of select="sum(ext:node-set($amountIn)/values/value)"/>
答案 0 :(得分:4)
你正在获得NAN,因为使用翻译号码将数字改为a。应该工作!
<xsl:variable name="amountIn" xml:space="preserve">
<values>
<xsl:for-each select="ext:node-set($finData)//child::balance/@in">
<value><xsl:value-of select="translate(.,',','.')"/></value>
</xsl:for-each>
</values>
</xsl:variable>