在dom4j下新建XML文档

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);
	}

}

  运行结果:

猜你喜欢

转载自www.cnblogs.com/Rose-yu/p/10849680.html