以下是我的输入XML:
<?xml version="1.0" encoding="utf-8" ?>
<LogiusInhouse>
<qty9 field="QTY_9,11#">
<type>90</type>
<value>12</value>
</qty9>
<qty9 field="QTY_9,11#">
<type>90</type>
<value>12</value>
</qty9>
<dtm9 field="DTM_9,11#">
<type>145</type>
<date>20130308</date>
<format>102</format>
</dtm9>
</LogiusInhouse>
XSL:
<xsl:template match="/LogiusInhouse">
<xsl:value-of select="abs(sum(qty9[type='90']/value))div 1000 "/>
</xsl:template>
我的问题是我需要获得绝对金额,然后必须除以1000但是我没有得到结果。请帮助我。
答案 0 :(得分:2)
不要使用for-each。使用下面的模板
<xsl:template match="/LogiusInhouse">
<xsl:value-of select="sum(//value)"/>
</xsl:template>
使用for-each将输出1212
因为每个节点(在您的代码中),结果为12
答案 1 :(得分:2)
或者,你可以使用这个:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" indent="yes"/>
<xsl:template match="/LogiusInhouse">
<xsl:value-of select="sum(qty9/value)" />
</xsl:template>
</xsl:stylesheet>