日期:2014-05-20  浏览次数:21016 次

DOM4J写XML文件空行问题
DOM4j处理XML文件时,写入文件后发现XML文件很多空行,而且文件也变大了,我现在是用XML文件来传输数据,不知道怎么处理这种问题.

------解决方案--------------------
你是想把这些空行去掉?
------解决方案--------------------
写文件的时候 设置一下 缩进格式 试试
------解决方案--------------------
是不是存储的时候格式问题.设置一下存储格式试试.
------解决方案--------------------
Format format = Format.getCompactFormat();
format.setEncoding("utf-8");
format.setIndent(" ");
XMLOutputter XMLOut = new XMLOutputter(format);
XMLOut.output(Doc, new FileOutputStream(xmlname));

------解决方案--------------------
DOM4J也可以
Java code


Document document = DocumentHelper.createDocument();
        XMLWriter writer = null;
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("UTF-8");
        format.setExpandEmptyElements(true);
        format.setTrimText(false);
        format.setIndent(" ");

------解决方案--------------------
刚学这个
------解决方案--------------------
可以设置的,我就没碰到过空行的情况
------解决方案--------------------
http://javaprogram.5d6d.com/blog.php?tid=628
Java code
 
/**
        * 通过 org.dom4j.io.OutputFormat 来设置XML文档输出格式
        */
        OutputFormat format = OutputFormat.createPrettyPrint(); // 设置XML文档输出格式
        format.setEncoding("UTF-8"); // 设置XML文档的编码类型
        format.setSuppressDeclaration(true);
        format.setIndent(true);    // 设置是否缩进
        format.setIndent("  ");  // 以空格方式实现缩进
        format.setNewlines(true);  // 设置是否换行

        try {
            /** 将document中的内容写入文件中 */
            XMLWriter writer = new XMLWriter(new FileWriter(new File(
                    xmlFileName)), format);
            writer.write(this.getDocument());
            writer.close();
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }