我需要添加每次出现的 totalPackageQuantity、totalGrossVolume 和 totalGrossWeight
<packageTotal>
<packageTypeCode>BX</packageTypeCode>
<totalPackageQuantity>3</totalPackageQuantity>
<totalGrossVolume measurementUnitCode="CBM">0.026000</totalGrossVolume>
<totalGrossWeight measurementUnitCode="KGM">2.880000</totalGrossWeight>
</packageTotal>
<packageTotal>
<packageTypeCode>BX</packageTypeCode>
<totalPackageQuantity>3</totalPackageQuantity>
<totalGrossVolume measurementUnitCode="CBM">0.026000</totalGrossVolume>
<totalGrossWeight measurementUnitCode="KGM">2.880000</totalGrossWeight>
</packageTotal>
在上面的xml结构上,我对每个的期望值
5.760000(总重量)
0.052000 (对于总交易量)
我目前正在使用这个
sum(packageTotal/totalGrossWeight)
使用 sum 函数它去除了一些十进制值,我需要十进制格式保持原样。如果只有一次出现,则值将按原样显示。
不可能
"保留"格式,因为给定的值必须先转换为数字才能求和 - 并且数字没有格式。
如果您知道所需的精度是小数点后六位,则只需使用:
<xsl:value-of select="format-number(sum(packageTotal/totalGrossWeight), '0.000000')"/>
如果您需要动态恢复原始格式,请尝试:
<xsl:variable name="format" select="translate(packageTotal[1]/totalGrossWeight, '123456789', '000000000')" />
<xsl:value-of select="format-number(sum(packageTotal/totalGrossWeight), $format)"/>