我的输入xml文件中有一个数字,如0.20但我想通过xslt在输出xml文件中更改为0,20(逗号而不是点)。我该如何格式化这个数字?我不想使用任何模板。
答案 0 :(得分:0)
为什么不向我们提供输入的示例,例如数字和使用的模板在哪里?展示XML和XSLT将很容易理解您的问题:
如果它出现在replace ()
<tag>0.20</tag>
<xsl:value-of select="replace(tag,'\.',','"/>
答案 1 :(得分:0)
根据您使用的XSLT版本,有不同的方法。
假设您在元素中具有值0.20
,如下所示
<element>0.20</element>
XSLT 1.0 提供translate()
函数,允许使用以下语句从字符串中替换字符。
<xsl:value-of select="translate(element,'.',',')" />
XSLT 2.0 提供replace()
功能来执行相同操作。但是,在使用XSLT 2.0时,最好转义period/dot
,因为dot
表示当前节点的值,并可能导致错误的解释。
<xsl:value-of select="replace(element,'\.',',')" />
答案 2 :(得分:0)
使用format-number($x, '0.00', 'european')
与
结合<xsl:decimal-format name="european" decimal-separator="," grouping-separator="."/>