package dom4j_write;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* 输出写出一个xml文件:
* XMLWriter。
*
* 利用XMLWriter实现:
* 1)读取原来的xml文件(document对象)。Demo01 copy
* 2)操作document对象,改变xml信息(document对象)。Demo02 format and encoding
* 3)把修改后的document对象写出到xml文件中(覆盖原来的文件)。
*
* @author mzy
*
*/
public class Demo01 {
public static void main(String[] args) throws Exception {
Document doc = new SAXReader().read(new File("././src/contact.xml"));
/**
* 输出流:
* 字符输出流:
* Writer -> FileWriter/BufferedWriter
* write(char c);
* write(char[] data);
* write(String str);
*
*
* 字节输出流:
* OutputStream -> FileOutputStream/BufferedOutputStream/ObjectOutputStream
* write(byte);
* write(byte[] data);
*/
// 创建输出流
OutputStream outStream = new FileOutputStream("E:/user/eclipse_workStation/XML/src/dom4j_write/target.xml");
// 1)创建输出对象
XMLWriter writer = new XMLWriter(outStream);
// 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>