使用dom4j工具:设置输出格式compactFormat和PrettyPrint(六)

package dom4j_write;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
 * 设置xml文件内容的格式:紧凑型和美观型
 * 
 * 设置xml文件的编码格式:encoding,保持存储格式和声明格式相同
 * 
 * @author mzy
 *
 */
public class Demo02 {
	public static void main(String[] args) throws Exception {
		Document doc = new SAXReader().read(new File("././src/contact.xml"));

		// 创建输出流
		OutputStream outStream = new FileOutputStream("E:/user/eclipse_workStation/XML/src/dom4j_write/target02.xml");

		// 补充1:设置输出的格式
		/*
		 * 为什么要使用两种格式存储xml文件呢?
		 * 考虑文件的大小;
		 * 传输的话,文件越小越好,所以更需要紧凑型的;
		 * 但是考虑阅读的话,则需要更美观的格式;
		 */
		OutputFormat compactFormat = OutputFormat.createCompactFormat(); // 紧凑的格式
		OutputFormat prettyFormat = OutputFormat.createPrettyPrint(); // 漂亮的格式
		
		// 补充2:设置输出的编码格式
		/*
		 * 作用1: 
		 * 		影响了xml的文档声明的encoding:
		 * 		
		 * 作用2:
		 * 		影响了xml文件内容保存的编码。
		 * 
		 * 保持内容和声明一致。
		 */
		compactFormat.setEncoding("utf-8");
		prettyFormat.setEncoding("gbk");
		
		// 1)创建输出对象
		// XMLWriter writer = new XMLWriter(outStream, compactFormat);
		XMLWriter writer = new XMLWriter(outStream, prettyFormat);
		
		// 2)写出数据
		writer.write(doc);
	}
}

xml结构如下:



	
		张三
		
		134001114
		[email protected]
		
成都
李四 134001115 [email protected]
广州
王五 134001116 [email protected]
上海

你可能感兴趣的:(xml学习)