我试图在XSLT中用单引号对数据进行子字符串化:

String : DataFromXML:'12345'

预期结果:12345
<xsl:value-of select="substring-after('$datafromxml','DataFromXML:')"/>

结果:'12345'
我尝试下面的代码
<xsl:value-of select="substring-after('$datafromxml','DataFromXML:&#39;')"/>

<xsl:value-of select="substring-after('$datafromxml','DataFromXML:&apos;')"/>

<xsl:value-of select="substring-after('$datafromxml','DataFromXML:'')"/>

错误:
String literal was not closed 'DataFromXML:'--->'<---

最佳答案

转义的一般规则是:

在1.0中:

  • 如果要在字符串文字中使用属性定界符,请使用XML
    转义形式&quot;&apos;
  • 如果要在字符串文字中使用字符串定界符,则可以使用

  • 在2.0中:
  • 如果要在字符串文字中使用属性定界符,请使用XML
    转义形式&quot;&apos;
  • 如果要在字符串文字中使用字符串定界符,请将其加倍(对于
    例如,“我不能”)

  • 如Vitaliy所示,使用变量$ quot或$ quot可使代码更清晰。

    10-06 07:21