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>
    


  • 相关阅读:
    ORACLE不常用但实用的技巧- 树查询 level用法
    oracle的start with connect by prior如何使用
    Oracle SQL日期及日期格式获取命令
    2019年起一般纳税人和小规模纳税人的区别
    10.pandas的替换和部分替换(replace)
    pandas中.value_counts()的用法
    Python模块/包/库安装几种方法(转载)
    预处理数据的方法总结(使用sklearn-preprocessing)
    python时间序列分析之_用pandas中的rolling函数计算时间窗口数据
    BZOJ2007 [Noi2010]海拔
  • 原文地址:https://www.cnblogs.com/mzywucai/p/11053419.html
Copyright © 2011-2022 走看看