package com.baidu;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import java.io.FileWriter;
import java.io.IOException;
//使用dom4j写xml文件
public class Test03 {
public static void main(String[] args) {
//1.创建一个document对象,获得一个空的 DOM 树
Document document = DocumentHelper.createDocument();
//2.向 DOM 树对象上添加节点元素,先向 DOM 上添加一个根节点
Element rootElement = document.addElement("fruits");
//3.添加根节点下的子节点(水果1)
Element fruitElement1 = rootElement.addElement("fruit");
//4.向子节点fruitElement1中添加子节点(名称和价格)
Element nameElement1 = fruitElement1.addElement("name");
Element priceElement1 = fruitElement1.addElement("price");
//5.继续添加根节点下的子节点(水果2)
Element fruitElement2 = rootElement.addElement("fruit");
//6.向子节点fruitElement2中添加子节点(名称和价格)
Element nameElement2 = fruitElement2.addElement("name");
Element priceElement2 = fruitElement2.addElement("price");
//7.给水果的名称和价格赋值
nameElement1.setText("西瓜");
nameElement2.setText("香蕉");
priceElement1.setText("3.0");
priceElement2.setText("5.0");
//8.将DOM树对象写到xml文件中
//9.先创建xml文档对象格式
OutputFormat prettyPrint = OutputFormat.createPrettyPrint();
//10.将格式字体设置为UTF-8
prettyPrint.setEncoding("UTF-8");
//11.创建XMLWriter输出流对象
XMLWriter xmlWriter = null;
try {
xmlWriter = new XMLWriter(new FileWriter("D:\\powernode\\learn\\XML\\out\\fruits.xml"), prettyPrint);
} catch (IOException e) {
System.out.println("FileWriter文件输出流获取失败!");
}
try {
//开始写入
xmlWriter.write(document);
//关闭资源
xmlWriter.close();
} catch (IOException e) {
System.out.println("xml文件写出失败!或输出流关闭失败!");
}
}
}
运行程序,可以得到下面的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<fruits>
<fruit>
<name>西瓜</name>
<price>3.0</price>
</fruit>
<fruit>
<name>香蕉</name>
<price>5.0</price>
</fruit>
</fruits>