Java 如何使用XMLOutputter禁用转义

Java 如何使用XMLOutputter禁用转义,java,xml,jdom,Java,Xml,Jdom,我使用XMLOutputter编写xml文件,然后在android中使用它。当文件被写入时,字符串 <string name="sname"><u>Text</u></string> 如何防止转义并将确切的字符串从数据库放到文件中?(我想让'你可以通过以下方式防止逃跑: 扩展XMLOutputer并重写escapeelemententies方法 XMLOutputter outputter = new XMLOutputter(Format.g

我使用XMLOutputter编写xml文件,然后在android中使用它。当文件被写入时,字符串

<string name="sname"><u>Text</u></string>

如何防止转义并将确切的字符串从数据库放到文件中?(我想让'你可以通过以下方式防止逃跑:

  • 扩展
    XMLOutputer
    并重写
    escapeelemententies
    方法

    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();
    
我找到了这个

  • 格式
    上设置自定义
    转义策略
    ,以防止转义某些字符
无论哪种方式,您都应该小心地生成有效的XML


希望这能有所帮助。

谢谢,MJar。它很管用。我用jdom2试过了,但没有用,因为jdom2中的XMLOutputer是最终版本。我下载了第一个版本,现在可以用了。
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
Writer writer = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
outputter.output(doc, writer);
writer.close();
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();