JDOM是使用Java语言编写的用于读、写、操作XML的一套组件。

 

要生成的XML文件:

<?xml version="1.0" encoding="GBK"?>
<addresslist>
<linkman id="lxh">
<name>张三</name>
<email>mldnqa@163.com</email>
</linkman>
</addresslist>


 

使用JDOM生成XML文件 :

import java.io.*;
import org.jdom.*;
import org.jdom.output.XMLOutputter;
public class WriteXML {
public static void main(String[] args) {
Element addresslist = new Element("addresslist");// 定义根节点
Element linkman = new Element("linkman"); // 定义linkman节点
Element name = new Element("name"); // 定义name节点
Element email = new Element("email"); // 定义email节点
Attribute id = new Attribute("id", "lxh"); // 定义属性
Document doc = new Document(addresslist); // 声明一个Document对象
name.setText("张三"); // 设置name元素的内容
email.setText("mldnqa@163.com"); // 设置email元素的内容
name.setAttribute(id); // 设置name元素的属性
linkman.addContent(name); // name为linkman子节点
linkman.addContent(email); // email为linkman子节点
addresslist.addContent(linkman); // 将linkman加入根节点中
XMLOutputter out = new XMLOutputter(); // 用来输出XML文件
out.setFormat(out.getFormat().setEncoding("GBK")); // 设置输出的编码
try { // 输出XML文件
out.output(doc, new FileOutputStream("D:" + File.separator
+ "address.xml"));
} catch (Exception e) {
e.printStackTrace();
} }}

 

使用JDOM读取XML文件:

import java.io.File;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class ReadXML {
public static void main(String[] args) throws Exception {
SAXBuilder builder = new SAXBuilder(); // 建立SAX解析
Document read_doc = builder.build("D:" +
File.separator + "address.xml"); // 找到Document
Element stu = read_doc.getRootElement(); // 读取根元素
List list = stu.getChildren("linkman"); // 得到全部linkman子元素
for (int i = 0; i < list.size(); i++) { // 输出
Element e = (Element) list.get(i); // 取出一个linkman子元素
String name = e.getChildText("name"); // 取得name元素内容
String id = e.getChild("name").
getAttribute("id").getValue(); // 取得name元素的id属性
String email = e.getChildText("email"); // 取得email元素内容
System.out.println("-------------- 联系人 --------------");
System.out.println("姓名:" + name + ",编号:" + id);
System.out.println("EMAIL:" + email);
System.out.println("-----------------------------------");
System.out.println();
}
}
}

 

JDOM可以方便的完成XML文件的读取及输出;
SAX + DOM = JDOM;