DOM4J是一组XML操作的组件包,主要用来读写XML文件

 

生成xml文件:

import  java.io.*;
import org.dom4j.*;
import org.dom4j.io.*;
public class DOM4JWriter{
public static void main(String[] args)throws Exception{
Document doc=DocumentHelper.createDocument();
Element addresslist=doc.addElement("addresslist");
Element linkman=addresslist.addElement("linkman");
Element name=linkman.addElement("name");
Element email=linkman.addElement("email");

name.setText("张三");
email.setText("gaoxingbo0429@qq.com");

OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("GBK");

XMLWriter write=new XMLWriter(new FileOutputStream(new File("D:"+File.separator+"sanDaKuangJia"+File.separator+"xmldemo"+File.separator+"dom4j"+File.separator+"printXML.xml")));
write.write(doc);
write.close();
}
}

 

解析输出xml文件:

import  java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;
public class DOM4JReader{
public static void main(String[] args)throws Exception{
File file=new File("D:"+File.separator+"sanDaKuangJia"+File.separator+"xmldemo"+File.separator+"dom4j"+File.separator+"printXML.xml");
SAXReader reader=new SAXReader();
Document doc=reader.read(file); //读取XML文件
//JDOM操作的时候要取的根节点
Element root=doc.getRootElement();
//现在应该根据根节点找到全部的子节点,linkman
Iterator iter=root.elementIterator();
while(iter.hasNext()){
Element linkman=(Element)iter.next();
System.out.println("姓名:"+linkman.elementText("name"));
System.out.println("邮件:"+linkman.elementText("email"));
}
}
}

 

DOM4J比JDOM在输出的格式上要好很多