xml - 不想在转换 XML 时转义字符

标签 xml xslt

我正在使用 XSL 将一种 XML 转换为另一种形式的 XML。

转换时,非英文字符被转义。说 'Ã' 被转义为“Atilde;”。

在解析转换后的 xml 时,我看到以下错误:

org.xml.sax.SAXParseException:引用了实体“Atilde”,但未声明。

我的要求是,我不想让非英文字符被转义。我想保留原样的字符。

在我用来转换 XML 的 XSL 中,我编写了以下语句:

<xsl:output method="xml" indent="yes" encoding="utf-8" omit-xml-declaration="no"/>

我是否应该更改这些属性中的任何一个来实现我的要求

最佳答案

你需要提供一个文档类型

<xsl:output method="xml" indent="yes" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" omit-xml-declaration="no"/>

关于xml - 不想在转换 XML 时转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6502686/

相关文章:

mysql - 使用 XSLT 将 RSS pubDate 转换为 mySQL 时间戳格式

xml - 将 Head 部分存储在 Coldfusion 中,无需在 XSL 中进行硬编码

sql - Oracle SQL XMLAGG”问题

java - 滚动后自定义 ListView 崩溃

xml - 使用 namespace 通过 xsl 转换 xml

xml - 是否可以使用 xslt 来设置交叉 TableView 的样式?

xml - 多个xsl选择条件

Java 生成 xml 版本 1.1

java - Maven - 如何通过命令行为java项目创建pom.xml

android - GridLayout 未按预期显示