我有一个XML文件,我正在应用XSL转换来获取Dot Net中的纯文本/ CSV文件。
问题是我的XML文件有像“& amp;”这样的特殊字符。为“&”。当我用XSL转换它时我得到相同的“& amp;”在输出以及我正在寻找“&”。
我正在寻找一个选项,我可以对“& amp;”进行一些XSL转换转换为“&”。
示例:
XML源数据:Adam& amp;夏娃
从XSL到现在的输出:Adam&夏娃
期望的输出:亚当&伊芙
有什么建议吗?
谢谢!
答案 0 :(得分:0)
您可以使用disable-output-escaping="yes"
,例如:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="name">
<xsl:copy>
<xsl:value-of select="." disable-output-escaping="yes" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
答案 1 :(得分:0)
如果你有例如。
<foo>Adam & Eve</foo>
在您的XML输入和XSLT集
中<xsl:output method="text"/>
和
<xsl:template match="foo">
<xsl:value-of select="."/>
</xsl:template>
然后我确信结果是Adam & Eve
。如果你的&符号被转义,那么你可能有错误的输出方法。