JDOM 是一个开源的纯java API,用于快速开发 XML 应用程序,JDOM将XML文档表示为树,包括元素、属性、说明、处理指令、文本节点、CDATA段,等等。
JDOM可以随时访问树中的任意部分。树中所有不同节点均为具体的类。在http://jdom.org可以下载JDOM的最新版本(我这里是1.0)。下载后解压,
JDOM的jar文件就是build目录下的文件jdom.jar,将之加入类路径。
jdom中最重要的一个包是org.jdom,其中主要有以下类用来进行xml文档的操作:
Attribute
CDATA
Comment
DocType
Document
Element
EntityRef
Namespace
ProcessingInstruction
Text
看看jdom怎样创建xml文档:
import java.io.*;
import org.jdom.*;
import org.jdom.output.*;
public class test1 {
public void BuildXMLDoc() throws IOException, JDOMException {
Element root, e1, e2;
Document Doc;
root = new Element("employees_information"); //首先建立根元素
DocType type=new DocType("employees_information","employees.dtd"); //文档类型
Doc = new Document(root,type); //然后用root创建XML文档对象
e1 = new Element("name"); //创建元素e1,设置内容,属性
e1.setText("C.Y. 陈伟波");
e1.setAttribute("index","1");
root.addContent(e1);
e2= new Element("name"); //创建元素e2,设置内容,属性
e2.setText("a.Y. Shen");
e2.setAttribute("index","2");
root.addContent(e2);
e2.addContent(new Comment("good")); //加一条注释
root.addContent(new Element("name").addContent("D.Y.CHEN").setAttribute("index", "3"));
Format f=Format.getRawFormat();
f.setEncoding("gb2312");
f.setIndent(" ");//每一层元素缩排两格
XMLOutputter XMLOut = new XMLOutputter(f);
XMLOut.output(Doc, new FileOutputStream("test1.xml"));
}
public static void main(String[] args) {
try {
test1 s1 = new test1();
System.out.println("Now we build an XML document .....");
s1.BuildXMLDoc();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
输出的文件:
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE employees_information SYSTEM "employees.dtd">
<employees_information>
<name index="1">C.Y. 陈伟波</name>
<name index="2">
a.Y. Shen
<!--good-->
</name>
<name index="3">D.Y.CHEN</name>
</employees_information>