java - XSL 转换期间的 Unicode 字符

标签 java xml xslt unicode

我正在 Java 程序中使用 XSL 进行 XML 转换。这是示例 XML

<root>
 <body>Body goes here &#x2019; with special characters</body>
</root>

我想将 XML 转换为以下内容:

<root>
 <body>Body goes here &amp;rsquo; with special characters</body>
</root>

如何将 Unicode Hex 字符转换为 Html 实体代码?请帮助我。

提前谢谢您。

最佳答案

XSLT 中没有直接的方法来生成实体引用。您可以使用disable-output-escaping(或在2.0中,字符映射)“手动”完成此操作,但这是一项艰苦的工作。

如果您要生成 HTML 并使用 Saxon,则有一个 xsl:output 属性

<xsl:output saxon:character-representation="entity;hex" xmlns:saxon="http://saxon.sf.net/"/>

参见http://www.saxonica.com/documentation/#!extensions/output-extras/serialization-parameters

关于java - XSL 转换期间的 Unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28101608/

相关文章:

java - 控制台输入,使用 Maven 在 NetBeans 9 中丢失 UTF8 编码

java - java 中的日期和时间 <f :convertDateTime/>

c# - XML namespace 和 XPath

xml - 删除emacs中某种类型的所有标签

json - XSLT 1.0 转义字符串中的双引号和反斜杠

java - Apache POI 字体问题

java - 如何在匿名类监听器中添加MouseEvent?

C# 在运行时访问本地化的 XML

xml - 大型 XML 文件和分页,这可能吗?

xml - XPath、平面层次结构和停止条件