zoukankan      html  css  js  c++  java
  • 使用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:
    		 * 		<?xml version="1.0" encoding="UTF-8"?>
    		 * 作用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结构如下:

    <?xml version="1.0" encoding="gbk"?>
    <contact-list>
    	<contact id="001" name="eric">
    		<name>张三</name>
    		<gender>男</gender>
    		<phone>134001114</phone>
    		<email>zhangsan@qq.com</email>
    		<address>成都</address>
    	</contact>
    	<contact id="002">
    		<name>李四</name>
    		<gender>男</gender>
    		<phone>134001115</phone>
    		<email>lisi@qq.com</email>
    		<address>广州</address>
    	</contact>
    	<contact id="003">
    		<name>王五</name>
    		<gender>男</gender>
    		<phone>134001116</phone>
    		<email>wangwu@qq.com</email>
    		<address>上海</address>
    	</contact>
    </contact-list>
    


  • 相关阅读:
    [导入]简单而强力的JS退弹代码(强制 弹出)
    [导入]在上传的图片上写字
    [导入]无法创建WEB项目文件路径与URL不符 处理方法
    [导入]ASCII码表完整版
    [导入]访QQ/MSN淡出窗口例子二则
    [导入]生成图片缩略图
    [导入]javascript调用webservice例子
    在字典的三级菜单中添加内容
    服务列表中找不到mysql
    CentOS 7安装后的配置
  • 原文地址:https://www.cnblogs.com/mzywucai/p/11053419.html
Copyright © 2011-2022 走看看