xml解析之JDOM

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;

 

你可能感兴趣的:(xml,jdom)