我使用XMLOutputter编写xml文件然后在android中使用它。写入文件时,字符串
<string name="sname"><u>Text</u></string>
写成
<string name="sname"><u>Text<u></string>
我读过“&lt; u&gt; Text&lt; u&gt;”从数据库然后把它放入jdom Document。然后我用
编写文档XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
Writer writer = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
outputter.output(doc, writer);
writer.close();
如何防止转义并将确切的字符串从数据库放到文件中? (我想要'&lt;',而不是<
那里)
答案 0 :(得分:3)
您应该能够通过以下方式阻止逃避:
扩展XMLOutputer
并覆盖escapeElementEntities
方法
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()) {
@Override
public String escapeElementEntities(String str) {
return str;
}
};
Writer writer = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
outputter.output(doc, writer);
writer.close();
我发现了here
EscapeStrategy
上设置自定义Format
以防止转义某些字符无论哪种方式,您都应该小心生成有效的XML。
希望这有帮助。