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 文档。