我有以下XML:
<doc>
<chap>
>The bowler >delivers< the ball <
>to the batsman who attempts to <
>hit the ball " with his " bat away from <
>the fielders so he can run to the <
>other end of the pitch and score a run.<
</chap>
</doc>
我必须编写一些XSL来为这个输入XML做一些任务。但是当我使用...
复制所有节点时<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
...在结果文件中,而不是"
。在生成的文件中,这些文件将转换为"
。我不希望这种情况发生。
<doc>
<chap>
>The bowler >delivers< the ball <
>to the batsman who attempts to <
>hit the ball " with his " bat away from <
>the fielders so he can run to the <
>other end of the pitch and score a run.<
</chap>
</doc>
是否有任何方法可以保留"
,因为它在生成的XML中?
答案 0 :(得分:3)
您可以使用xsl:use-character-maps
,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output use-character-maps="CharMap"/>
<xsl:character-map name="CharMap">
<xsl:output-character character=""" string="&quot;"/>
</xsl:character-map>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>