dom解析xml原理就好比读取一个标签树,所以新建一个xml文件也像是新建一颗树。
前提必须导入dom4j的jar包(非官方发布但被大多数开发者所用)下载地址:http://www.dom4j.org/
想要新建目标XML文件
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="001">
<name>朝花夕拾</name>
<author>鲁迅</author>
</book>
<book id="002">
<name>围城</name>
<author>钱钟书</author>
</book>
</books>
新建Xml文件:
1.通过DocumentHelper.createDocument();获得一个document对象doc;
2.通过doc.addElement("根标签")来获得有且只有一个的根标签
3.在根标签下根据层次依次增加节点(Element对象),
4.在Element对象中增加属性Element.Addattribute("素性名字","值"),Element.addText("标签的值")
5.输出到文件中
1通过DocumentHelper.createDocument();获得一个document对象doc;
Document doc=DocumentHelper.createDocument();
2.通过doc.addElement("根标签")来获得有且只有一个的根标签
Element root=doc.addElement("books");
第三第四部操作与第2步一致,直接见下面代码
5.输出到文件中
OutputFormat format = OutputFormat.createPrettyPrint();
//设置输出编码
format.setEncoding("UTF-8");
//创建需要写入的File对象
File file = new File("D:" + File.separator + "books.xml");
//生成XMLWriter对象,构造函数中的参数为需要输出的文件流和格式
XMLWriter writer = new XMLWriter(new FileOutputStream(file), format);
//开始写入,write方法中包含上面创建的Document对象
writer.write(doc);
package xml;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.UnsupportedEncodingException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class WriteXmlDom_demo02 {
public static void main(String[] args) throws Exception, FileNotFoundException {
Document doc=DocumentHelper.createDocument();
Element root=doc.addElement("books");
Element book1=root.addElement("book");//在根标签下根据层次依次增加节点(Element对象),
Element name1=book1.addElement("name");/
Element author1=book1.addElement("author");
Element book2=root.addElement("book");
Element name2=book2.addElement("name");
Element author2=book2.addElement("author");
book1.addAttribute("id", "001");//在Element对象中增加属性Element.Addattribute("素性名字","值")
book2.addAttribute("id", "002");
name1.addText("朝花夕拾");//在Element对象中增加Element.addText("标签的值")
author1.addText("鲁迅");
name2.addText("围城");
author2.addText("钱钟书");
OutputFormat format = OutputFormat.createPrettyPrint();
//设置输出编码
format.setEncoding("UTF-8");
//创建需要写入的File对象
File file = new File("D:" + File.separator + "books.xml");
//生成XMLWriter对象,构造函数中的参数为需要输出的文件流和格式
XMLWriter writer = new XMLWriter(new FileOutputStream(file), format);
//开始写入,write方法中包含上面创建的Document对象
writer.write(doc);
}
}
运行结果: