我在汇总变量中的值时遇到麻烦。

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)"/>

最佳答案

您由于,而得到NAN,因此在数字中使用转换编号将其更改为。应该管用!

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

关于xslt - 如何从XSLT变量中创建的节点求和()值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11395738/

10-13 09:38