我正在尝试将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,所以我需要原始形式的字符。
答案 0 :(得分:1)
对我来说,DOMSource以html格式保存字符看起来很正常。
您可以使用Jakarta library unescape html method将html字符转换回常规字符串。 在您的情况下,您应该添加以下行:
String unescapedHtml = StringEscapeUtils.unescapeHtml4(modifiedContent);
确保为项目添加正确的maven dependency。
P.S。在maven central上似乎有一个更新版本的库,但我找不到相关的javadoc。