来自xml输入的Xslt格式编号

时间:2019-01-12 19:29:12

标签: xml xslt decimalformat

我有一个输入的xml文件

<elementOne>
  <elementTwo>
   <RequestItem>
    <elementThree>
      <value>314.4</value>
    </elementThree>
   </RequestItem>
  </elementTwo>
 </elementOne>

和xslt波纹管

<?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes" />
<xsl:decimal-format name="euro" decimal-separator="." grouping-separator=","/>
<xsl:template match="/*">

    <Value>
        <xsl:value-of select="format-number(sum(/elementOne/elementTwo/RequestItem/elementThree/value/text()),'##,00')"/>
    </Value>

</xsl:template>


</xsl:stylesheet>

根据我在互联网上找到的内容,我尝试了很多方法,但我没有 管理输出为314,40

1 个答案:

答案 0 :(得分:2)

首先,如果希望小数点分隔符是逗号,则必须这样定义它:

<xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/>

然后,如果定义了十进制格式,则还必须告诉样式表使用它:

<xsl:value-of select="format-number(sum(/elementOne/elementTwo/RequestItem/elementThree/value), '#,00', 'euro')"/>

或者,如果您还希望应用定义的千位分隔符:

<xsl:value-of select="format-number(sum(/elementOne/elementTwo/RequestItem/elementThree/value), '#.###,00', 'euro')"/>