我在XML中有这个:
<price>
<now>€ 249,95</now>
</price>
下面的逗号之前的数量,我只想删除欧元符号。
这就是(XSLT 1.0):
<xsl:template name="amount">
<xsl:param name="string"/>
<xsl:param name="separator" select="','"/>
<xsl:choose>
<xsl:when test="contains($string,$separator)">
<xsl:value-of select="substring-before($string,$separator)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
答案 0 :(得分:1)
你为什么不这样做:
<xsl:value-of select="translate(now, ',€ ', '.')" />
这会将小数点逗号转换为点并删除欧元符号以及任何空格 - 无需测试是否存在任何空格。
如果只想要整数部分,那么:
<xsl:value-of select="floor(translate(now, ',€ ', '.'))" />
将在您的示例中返回249
。