我有以下 XML:
<item>
<description><![CDATA[Euro sign: €]]></description>
</item>
当我针对这个 XSL 运行它时:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
<xsl:output method="xml" name="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" />
<xsl:template match="item">
<xsl:result-document href="test.xml" format="xml">
<feed>
<xsl:value-of select="description" />
</feed>
</xsl:result-document>
</xsl:template>
</xsl:stylesheet>
“test.xml”等于:
<feed>
<description>Euro sign: €</description>
</feed>
这是完美的。但是,当<xsl:result-document>
删除时,如下所示:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
<xsl:output method="xml" name="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" />
<xsl:template match="item">
<feed>
<xsl:value-of select="description" />
</feed>
</xsl:template>
</xsl:stylesheet>
输出等于:
<feed>
<description>Euro sign: €</description>
</feed>
这是不正确的,因为欧元符号似乎已被转义。
使用普通输出时,有什么方法可以保持欧元符号不变?
提前致谢。