我使用 XMLOutputter 编写 xml 文件,然后在 android 中使用它。写入文件时,string
<string name="sname"><u>Text</u></string>
写成
<string name="sname"><u>Text<u></string>
我从数据库中读取“Text”,然后将其放入 jdom 文档中。然后我写文档使用
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
Writer writer = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
outputter.output(doc, writer);
writer.close();
如何防止转义并将准确的字符串从数据库写入文件? (我想要 '<',而不是 <
)
最佳答案
您应该能够通过以下方式防止转义:
扩展
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
- 在
Format
上设置自定义EscapeStrategy
以防止转义某些字符
无论哪种方式,您都应该小心生成有效的 XML。
希望这对您有所帮助。
关于java - 如何使用 XMLOutputter 禁用转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359198/