JDOM = DOM + SAX

WriteXML:

使用JDOM 完成简单的XML输出,相比DOM方便许多.
package org.mhb.xml.jdom;
import java.io.*;
import org.jdom.*;
import org.jdom.output.*;
public class WriteXML
{
	public static void main(String[] args)throws Exception
	{
		Element addresslist = new Element("addresslist");
		Element linkman = new Element("linkman");
		Element name = new Element("name");
		Element email = new Element("email");
		Attribute id = new Attribute("id","mhb");
		Document doc = new Document(addresslist);
		name.setText("mhb");
		name.setAttribute(id);
		email.setText("www.baidu.com");
		linkman.addContent(name);	//设置关系
		linkman.addContent(email);
		addresslist.addContent(linkman);
		XMLOutputter out = new XMLOutputter();
		out.setFormat(out.getFormat().setEncoding("GBK"));
		out.output(doc,new FileOutputStream(new File("D:" + File.separator + "address.xml")));
	}
}


ReadXML:
使用JDOM 完成xml文件的读取.
package org.mhb.xml.jdom;
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;
public class ReadXML
{
	public static void main(String[] args)throws Exception
	{
		SAXBuilder builder = new SAXBuilder();
		Document read_doc = builder.build(new File("D:" + File.separator + "address.xml"));
		Element root = read_doc.getRootElement();//取得根
		List list = root.getChildren("linkman");//得到所有的linkman
		for(int i=0;i<list.size();i++)
		{
			Element e = (Element) list.get(i);
			String name = e.getChildText("name");
			String id = e.getChild("name").getAttribute("id").getValue();
			String email = e.getChildText("email");
			System.out.println("************** 联系人 **************");
			System.out.println("姓名:" + name + ",编号:" + id);
			System.out.println("Email:" + email);
			System.out.println("*************************************");
			System.out.println();
		}
	}
}


由WriteXML生成的address.xml文件,并由ReadXML读取.
<?xml version="1.0" encoding="GBK"?>
<addresslist>
	<linkman>
		<name id="mhb">mhb</name>
		<email>www.baidu.com</email>
	</linkman>
</addresslist>



    通过比较可以清楚的发现,通过JDOM实现的XML解析的功能本身融合了DOM和SAX的特点,但是在使用起来时却非常方便,这就是JDOM之所以使用广泛的原因了,但是现在最新的XML解析包并不是JDOM.
    最新的是DOM4J.

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