现在,项目开发中关于xml解析用的最多的开源框架就是dom4j。此框架主要优点是使用简单,功能强大。一直很受开发人员喜欢。
现在利用dom4j对于xml进行读写的操作进行如下总结。
一、读操作
package com.xml.dom4j.test;
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class DOM4JReader {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
String fileName =
"F:" + File.separator + "temp" + File.separator+ "dom4j_output.xml";
File file = new File(fileName); //新建File对象
SAXReader reader = new SAXReader();
Document doc = reader.read(file); //利用SAXReader读取xml
System.out.println(doc);
Element root = doc.getRootElement(); //获取各根结点
Iterator iter = root.elementIterator(); //通过迭代获取各结点
while(iter.hasNext()){
Element element = (Element) iter.next();
System.out.println("name: " + element.elementText("name"));
System.out.println("email: " + element.elementText("email"));
}
}
}
二、写操作
package com.xml.dom4j.test;
import java.io.*;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class DOM4JWriter {
public static void main(String[] args) throws Exception{
Document doc = DocumentHelper.createDocument();//创建各节点结构
Element root = doc.addElement("root");
Element linkman = root.addElement("linkman");
Element name = linkman.addElement("name");
Element email = linkman.addElement("email");
name.setText("zhangsan");//设置节点的值
email.setText("zhsan@163.com");
OutputFormat format = OutputFormat.createPrettyPrint();//设置显示格式
format.setEncoding("GBK");
FileOutputStream fos = new FileOutputStream(
new File("F:"+ File.separator + "address_out.xml"));
XMLWriter writer = new XMLWriter(fos,format);//利用XMLWriter创建xml
writer.write(doc);
writer.close();
}
}
利用dom4j可以实现更加灵活,更加复杂的xml解析,使用起来都极为方便。