我正在使用以下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, '"'), '"')"/>
<xsl:if test="contains($pText, '"')">
<xsl:text>\"</xsl:text>
<xsl:call-template name="escapeQuote">
<xsl:with-param name="pText" select="substring-after($pText, '"')"/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:template>
但是不幸的是,我对XSLT的经验不足,无法将其与我上面使用的代码集成在一起。任何帮助将不胜感激。