XSLT XML转JSON和Escape双引号

时间:2018-08-04 11:49:52

标签: json xml xslt escaping double-quotes

我正在使用以下XSLT将XML转换为JSON: https://github.com/bojanbjelic/xml2json/blob/master/xml2json.xsl

这很好用,但我真的很想扩展它,以便XML值内的任何双引号都可以在JSON输出中转义:

<tag>This is "my" test</tag>

成为:

{
    "tag": "This is \"my\" test"
}

这里有一些不错的代码:XSLT + Replacing double quotes with escape sequence

<xsl:template name="escapeQuote">
  <xsl:param name="pText" select="."/>
  <xsl:if test="string-length($pText) >0">
   <xsl:value-of select="substring-before(concat($pText, '&quot;'), '&quot;')"/>
   <xsl:if test="contains($pText, '&quot;')">
    <xsl:text>\"</xsl:text>
    <xsl:call-template name="escapeQuote">
      <xsl:with-param name="pText" select="substring-after($pText, '&quot;')"/>
    </xsl:call-template>
   </xsl:if>
  </xsl:if>
</xsl:template>

但是不幸的是,我对XSLT的经验不足,无法将其与我上面使用的代码集成在一起。任何帮助将不胜感激。

0 个答案:

没有答案