é在java中的dom转换后显示为é

时间:2015-05-07 07:37:50

标签: java dom

我正在尝试将HTML字符串转换为dom以进行一些dom级别更改并将其转换回String。 HTML是法语,é等字符显示为é是转换后转换后的字符串。

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);

String modifiedContent = "";
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
transformer.transform(source, result);
modifiedContent = writer.toString();

“Résultatsderecherche”是一个字符串,在dom转换为String后,“Résultats de recherche”就是结果。

我将它送到FOP处理器将其转换为pdf,所以我需要原始形式的字符。

1 个答案:

答案 0 :(得分:1)

对我来说,DOMSource以html格式保存字符看起来很正常。

您可以使用Jakarta library unescape html method将html字符转换回常规字符串。 在您的情况下,您应该添加以下行:

String unescapedHtml = StringEscapeUtils.unescapeHtml4(modifiedContent);

确保为项目添加正确的maven dependency

P.S。在maven central上似乎有一个更新版本的库,但我找不到相关的javadoc。