欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

xml解析之JDOM

程序员文章站 2022-05-28 10:41:29
...

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

 

要生成的XML文件:

<?xml version="1.0" encoding="GBK"?>
<addresslist>
	<linkman id="lxh">
		<name>张三</name>
		<email>[email protected]</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("[email protected]"); 		// 设置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

上一篇: jdom解析

下一篇: jdom操作xml文件