使用DOM4J生成XML文档的分析和简单实例
dom4j 简介:
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常优秀的Java XML API,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。Sun的JAXM也在用dom4j, Hibernate用它来读写配置文件。
dom4j API :
首先导入 dom4j API 类:
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
//使用 DocumentHelper 类创建一个文档实例。
Document document = DocumentHelper.createDocument();
//使用 addElement() 方法创建根元素 <catalog> 。 addElement() 用于向 XML 文档中增加元素。
Element catalogElement = document.addElement("catalog");
在 catalog 元素中使用 addElement() 方法增加 <journal> 标签。
Element journalElement = catalogElement.addElement("journal");
<journal>下增添 <article>标签
Element articleElement=journalElement.addElement("article");
向 article 元素中增加 <title> 元素
Element titleElement=articleElement.addElement("title");
使用 setText() 方法设置 article 元素的文本。
titleElement.setText("Java configuration with XML Schema");
可以使用 addDocType() 方法添加文档类型说明。
document.addDocType("catalog", null,"file://c:/Dtds/catalog.dtd");
这样就向 XML 文档中增加文档类型说明:
<!DOCTYPE catalog SYSTEM "file://c:/Dtds/catalog.dtd">
源程序如下:
1 package Dom4jtest;
2 import org.dom4j.Document;
3 import org.dom4j.DocumentHelper;
4 import org.dom4j.Element;
5 import org.dom4j.io.XMLWriter;
6 import java.io.*;
7 public class Dom4jtest1{
8 public void generateDocument(){
9 Document document = DocumentHelper.createDocument();
10 Element catalogElement = document.addElement("catalog");
11 Element journalElement = catalogElement.addElement("journal");
12 Element articleElement=journalElement.addElement("article");
13 Element titleElement=articleElement.addElement("title");
14 titleElement.setText("Java configuration with XML Schema");
15 Element authorElement=articleElement.addElement("author");
16 Element firstNameElement=authorElement.addElement("firstname");
17 firstNameElement.setText("Marcello");
18 Element lastNameElement=authorElement.addElement("lastname");
19 lastNameElement.setText("Vitaletti");
20
21 try{
22 XMLWriter output = new XMLWriter(new FileWriter( new File("d:/catalog.xml") ));
23 output.write( document );
24 output.close();
25 }
26 catch(IOException e)
27 {
28 System.out.println(e.getMessage());
29 }
30 }
31
32 }
33
生成如下XML:
1 <?xml version="1.0" encoding="UTF-8" ?>
2 - <catalog>
3 - <journal>
4 - <article>
5 <title>Java configuration with XML Schema</title>
6 - <author>
7 <firstname>Marcello</firstname>
8 <lastname>Vitaletti</lastname>
9 </author>
10 </article>
11 </journal>
12 </catalog>
本文说明了如何使用该解析器创建XML 文档。