JDOM = DOM + SAX
程序员文章站
2022-05-28 10:46:35
...
WriteXML:
使用JDOM 完成简单的XML输出,相比DOM方便许多.
ReadXML:
使用JDOM 完成xml文件的读取.
由WriteXML生成的address.xml文件,并由ReadXML读取.
通过比较可以清楚的发现,通过JDOM实现的XML解析的功能本身融合了DOM和SAX的特点,但是在使用起来时却非常方便,这就是JDOM之所以使用广泛的原因了,但是现在最新的XML解析包并不是JDOM.
最新的是DOM4J.
使用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.