如何在XSLT中替换字符串?

时间:2013-09-08 16:45:01

标签: xml xslt

我有这个XML:

<path>/en/products/bike</path>

是否有将返回的XSLT函数

/products/bike

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您可以使用substring-after功能。

因此,例如,以下XSLT样式表:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>

  <xsl:template match="path">
    <xsl:value-of select="substring-after(., '/en')"/>
  </xsl:template>
</xsl:stylesheet>

应用于您的XML时:

<path>/en/products/bike</path>

会给:

/products/bike

答案 1 :(得分:0)

使用XSLT 2.0,您还可以使用 replace() 函数,该函数接受正则表达式模式作为第二个参数,并接受正则表达式标志的可选第4个参数。

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" />
    <xsl:template match="path">
        <xsl:sequence select="replace(., '^/en','')"/>
    </xsl:template>
</xsl:stylesheet>