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>[email protected]</email> <address>成都</address> </contact> <contact id="002"> <name>李四</name> <gender>男</gender> <phone>134001115</phone> <email>[email protected]</email> <address>广州</address> </contact> <contact id="003"> <name>王五</name> <gender>男</gender> <phone>134001116</phone> <email>[email protected]</email> <address>上海</address> </contact> </contact-list>