Xml 如何替换XSLT中的字符串?

Xml 如何替换XSLT中的字符串?,xml,xslt,Xml,Xslt,我有以下XML: <path>/en/products/bike</path> ? 谢谢您的帮助。您可以使用后的子字符串功能 例如,下面的XSLT样式表: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="path">

我有以下XML:

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


谢谢您的帮助。

您可以使用
后的
子字符串功能

例如,下面的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>

在XSLT2.0中,还可以使用函数,该函数接受正则表达式模式作为正则表达式标志的第二个参数和可选的第四个参数

<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>

您希望符合哪些标准?是否希望子字符串从第四个字符开始,子字符串在
/en
之后,第二个正斜杠之后,第二个到最后一个斜杠,等等?有很多方法可以提取特定的子字符串,但其中一些方法可能比其他方法更有用。
<path>/en/products/bike</path>
/products/bike
<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>