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>

使用dom4j工具:设置输出格式compactFormat和PrettyPrint(六)的更多相关文章

  1. 让UltraEdit-32成为Delphi 7编译器的工具设置

    UltraEdit-32编译Delphi的工具设置 {================================================}Dcc32 命令行(&C):C:\Pro ...

  2. Vim增强工具设置

    Vim增强工具设置操作准备:vim ~/.vimrc11. 缩进 & 制表符使 Vim 在创建新行的时候使用与上一行同样的缩进: set autoindent 2. 设置文件里的制表符 (TA ...

  3. 使用dom4j工具:读取xml(一)

    package dom4j_read; import java.io.File; import org.dom4j.Document; import org.dom4j.io.SAXReader; / ...

  4. 如何为 SAST 工具设置误报基准?

    许多 SAST 工具都无法避免误报的问题.这些工具经常报告一些实际不存在的漏洞,这种不准确性让安全团队耗费大量时间来对误报进行分类和处理,这时设置误报基准就显得十分必要. 通过设置误报基准,安全团队可 ...

  5. 解析txt文本,dom4j工具输出为xml文档

    有如下一个ttl.txt文本文档,每一行用空格隔开的三段分别代表主谓宾, 要将它们输出为xml格式文档 工具:dom4j,jar包导入MyEclipse的Java Project工程 代码如下: pa ...

  6. xml之DOM方式解析,DOM4J工具解析原理

    DOM解析原理: DOM解析原理:xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document的对象树,通过Document对象,得到树上的节点对象,通过节点对象访问(操作)到x ...

  7. 如何给win7自带的截图工具设置快捷键

    win7自带的截图工具很好,很强大,比从网上下载的截图工具好用多了,很少会出现问题.但是它能不能像QQ截图工具一样可以使用快捷键呢?今天小编和大家分享下心得,希望能够给你的工作带来快捷. 工具/原料 ...

  8. dom4j 通过 org.dom4j.XPath 设置命名空间来支持 带namespace 的 xpath

    测试文件 test.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/ ...

  9. IDEA字体颜色快速导入辅助工具设置

     原创链接:https://www.cnblogs.com/ka-bu-qi-nuo/p/9181954.html 程序员开发大多数都是使用IDE进行代码开发的,这样能快速的开发出需要的项目.之前一直 ...

随机推荐

  1. 手写Spring框架,是时候撸个AOP与Bean生命周期融合了!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 嘎小子,这片代码水太深你把握不住! 在电视剧<楚汉传奇>中有这么一段刘邦 ...

  2. 扩展欧几里得(exgcd)-求解不定方程/求逆元

    贝祖定理:即如果a.b是整数,那么一定存在整数x.y使得ax+by=gcd(a,b).换句话说,如果ax+by=m有解,那么m一定是gcd(a,b)的若干倍.(可以来判断一个这样的式子有没有解)有一个 ...

  3. 如何在VeryCD中下载资源

    这个方法也是百度来的,记在这里的目的不是为了显摆,主要是担心自己大脑记不住,用的时候又要重新找方法. 操作系统:Linux Mint 17 首先,在VeryCD中看好了某个资源,比如搜索的<哈利 ...

  4. Java规范的三种注释方式:

    1.单行注释 // //单行注释 2.多行注释 /* */ /* 多行 注释 */ 3.文档注释[java特有的] /** */ ◆注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文 ...

  5. python之 数据类型限制

    问题增加类型限制 NameError: name 'List' is not defined def twoSum(self, nums: List[int], target: int) -> ...

  6. ifix重用性模块化开发纪实(以污水处理泵站为例)

    在经过多个自动化上位机的开发后,对上位机的重用开发和提高效率,减少重复工作有了一定的积累.故而产生了模块化建设上位机的思路.现从当下项目开始,研究出一套可重复利用的模块化系统. 1.点表整理 从PLC ...

  7. 论文笔记:(2019)LDGCNN : Linked Dynamic Graph CNN-Learning on PointCloud via Linking Hierarchical Features

    目录 摘要 一.引言 A.基于视图的方法 B.基于体素的方法 C.基于几何的方法 二.材料 三.方法 A.问题陈述 B.图生成 C.图特征提取 D.变换不变函数 E.LDGCNN架构 F.冻结特征提取 ...

  8. Centos LInux 7.0 内核3.1 升级简化流程

    Centos LInux 7.0 内核3.1 升级建华流程 1)#导入ELRepo软件仓库的公共秘钥rpm --import https://www.elrepo.org/RPM-GPG-KEY-el ...

  9. IDEA创建Mapper.xml文件识别不成功的问题

    在IDEA的maven项目中,创建一个EmpMapper.xml的文件识别不成功,图标显示为文本文档类型,在写代码时也不会弹出提示 解决方法: 在文件->设置->编辑器->文件类型中 ...

  10. 记录21.07.26 —— Vue/cil

    VUE搭载脚手架 搭载环境 下载node node.js下载地址 控制台输入 npm install -g @vue/cil 查看版本 创建vue项目 创建完后会显示启动服务的指令 这个指令可以在pa ...