如何使用XSLT移除XML代码中的欧元货币符号?
XSLT 1.0 移除XML价格字段欧元符号解决方案
核心使用XSLT 1.0内置的translate()函数即可实现字符替换需求,无需依赖额外扩展组件。
1. 修正后的完整XSLT代码
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:g="http://base.google.com/ns/1.0"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="products"> <xsl:element name="products"> <xsl:for-each select="product"> <xsl:element name="product"> <xsl:element name="sku"> <xsl:value-of select="sku"/> </xsl:element> <xsl:element name="price"> <xsl:value-of select="translate(price, '€', '')"/> </xsl:element> </xsl:element> </xsl:for-each> </xsl:element> </xsl:template> </xsl:stylesheet>
2. 关键逻辑说明
translate(price, '€', '')会遍历price字段的所有字符,将所有€符号替换为空字符串,最终仅保留数字部分- 修正了原有示例代码的两处问题:1. sku字段不再拼接多余前缀,直接读取原XML的sku节点值;2. 新增价格字段处理逻辑,输出符合要求的price节点
3. 输出结果验证
使用上述代码转换输入XML后,将得到符合预期的输出:
<products> <product> <sku>BTKUJ-1-2-2-3</sku> <price>20</price> </product> </products>
内容的提问来源于stack exchange,提问作者Sylvester
相关产品推荐
相关产品推荐

