我的输入 xml 文件中有一个数字,像这样 0.20,但我想通过 xslt 在我的输出 xml 文件中更改为 0,20(逗号而不是点(。 如何格式化此数字?我不想为此使用任何模板。
使用 format-number($x, '0.00', 'european')
与
<xsl:decimal-format name="european" decimal-separator="," grouping-separator="."/>
根据您使用的 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,'.',',')" />
你为什么不给我们一个输入的例子,比如数字在哪里以及你用于这个的模板? 显示 XML 和 XSLT 将很容易理解您的问题:
如果它带有这样的标签,您通常可以使用replace ()
:<tag>0.20</tag>
<xsl:value-of select="replace(tag,'.',','"/>