DOM4j:
OutputFormat format = OutputFormat.createPrettyPrint(); // 格式化输出
format.setEncoding("GBK"); // 指定XML编码
writer = new XMLWriter(new FileWriter(new File(fileName)), format);
writer.write(document); // 将document中的内容写入文件中
另外一个类似,给分吧.

解决方案 »

  1.   

    粗心的人
    org.jdom.output 下还有两个输出器SAXOutputter

    DOMOutputter不过这两个输出器都要求参数提供一个输出流,而不是直接输出到字符串
      

  2.   

    //用DOM规范将生DOM对象树输出到输出流中
        public static void saveToOutputStreamUseDom(Document doc,
                                                    String encoding,
                                                    OutputStream outputStream) {
            try {
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                DocumentBuilder builder = factory.newDocumentBuilder();
                DOMImplementation impl = builder.getDOMImplementation();
                DOMImplementationLS implls = (DOMImplementationLS) impl;
                LSSerializer domWriter = implls.createLSSerializer();
                DOMConfiguration domConfig =domWriter.getDomConfig();
                boolean isSupport =domConfig.canSetParameter("format-pretty-print",new Boolean("true"));
                if(isSupport){
                    domConfig.setParameter(
                                          "format-pretty-print",
                                           new Boolean("true"));
                }else{
                    System.out.println("不支持美化文档!");
                }
                LSOutput output = implls.createLSOutput();
                output.setByteStream(outputStream);
                output.setEncoding("GBK");
                domWriter.write(doc, output);        } catch (Exception e) {
                e.printStackTrace();
            }    }
      

  3.   

    DOM用XMLSerializer ,DOM4j用XMLWriter