org.dom4j.io.OutputFormat
用于输出xml时的格式控制,通过对OutputFormat的参数设置,可以实现xml输出时换行、缩进、编码方式、是否显示xml声明等等控制。
package iadb;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class TestXml {
public TestXml() throws DocumentException, IOException {
OutputFormat XML_FORMAT = new OutputFormat();
// 设置换行 为false时输出的xml不分行
XML_FORMAT.setNewlines(true);
// 生成缩进
XML_FORMAT.setIndent(true);
// 指定使用tab键缩进
XML_FORMAT.setIndent(" ");
// 不在文件头生成 XML 声明 (<?xml version="1.0" encoding="UTF-8"?>)
XML_FORMAT.setSuppressDeclaration(true);
// 不在文件头生成 XML 声明 (<?xml version="1.0" encoding="UTF-8"?>)中加入encoding 属性
XML_FORMAT.setOmitEncoding(true);
Document document = new SAXReader().read(new File("src.xml"));
File xmlFile =new File("dst.xml");
XMLWriter xmlWriter = null;
try{
xmlWriter = new XMLWriter(new FileOutputStream(xmlFile),XML_FORMAT);
xmlWriter.write(document);
}finally{
// 注意这里要记得关闭XmlWriter
if(xmlWriter!=null)xmlWriter.close();
}
}
}
参考链接:
http://lic0112.iteye.com/blog/2071812
http://mxdxm.iteye.com/blog/738515