如何用Dome4j(2.2.1)创建Xml

XML解析器常见的有两种:

1.SAX解析器,用于xml的简单API

2.DOM解析器,文档对象模型

DOM就是利用对象来把文本模型化,但是模型实现有以下几个基本的点:

1. 用来表示、操作文档的接口

2.接口行为、属性

3.接口之间的关系和互属性

在DOM接口中有四个基本接口:Document、Node、NodeList、NamedNodeMap

Node对象:DOM中最基本的对象

Document对象:代表整个XML文档

NodeList对象包含一个或者是多个Node的列表

Element对象代表xml文档中的标签元素

创建xml

复制代码
/创建xml的方法
public static void createxml() throws Exception{
DocumentBuilderFactory  dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder(); 
Document document= db.newDocument();
//创建一个bookstore节点
 Element  bookstore=document.createElement("bookstore");
Element book=document.createElement("book");
Element book1=document.createElement("book");
//创建一个name节点并添加在book下
Element  name= document.createElement("name");
Element  author= document.createElement("author");
Element  name1= document.createElement("name");
Element  author1= document.createElement("author");

    book.appendChild(name);
    book.appendChild(author);
    book1.appendChild(name1);
       book1.appendChild(author1);
    //添加文本到name节点
    name.setTextContent("张三");
author.setTextContent("李四");
name1.setTextContent("王五");
author1.setTextContent("黄六");
//设置book属性名以及属性值
book.setAttribute("id", "1"); 
book1.setAttribute("id", "2");
//向bookstore根节点中添加子节点
bookstore.appendChild(book); 
bookstore.appendChild(book1);
//添加跟节点
document.appendChild(bookstore); 
//树的结构已经生成,接下来生成xml文件
//前几步都是一定的
TransformerFactory  tft= TransformerFactory.newInstance();
   Transformer   tf= tft.newTransformer();
   tf.setOutputProperty(OutputKeys.INDENT, "yes");
   //创建新的xml文件并导入document
tf.transform(new DOMSource(document), new StreamResult(new File("book1.xml")));  
} 
posted @ 2019-05-28 11:39  陈旭莉  阅读(286)  评论(0编辑  收藏  举报