首页 > 代码库 > java基础篇---XML解析(二)

java基础篇---XML解析(二)

  XML解析之最流行的方式:DOM4J

dom4j是使用java语言编写的,用于读,写,操作XML的一套组件

JDOM=DOM修改文件的优点+SAX读取快速的优点

dom4j是一个开源的java组件,可从http://sourceforge.net/projects/dom4j/files/下载。其解压后有一个dom4j-1.6.1.jar文件,这个就是需要引入的包,其dom4j的所有的接口都在org.dom4j包中定义,主要接口如下:

技术分享

XML写入文件:DOM4JWriter.java
package org.lxh.xml.dom4j ;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("偶my耶") ;        email.setText("email") ;        OutputFormat format = OutputFormat.createPrettyPrint() ;        format.setEncoding("UTF_8") ;        XMLWriter writer = new XMLWriter(new FileOutputStream(new File("e:" + File.separator + "output.xml")),format) ;        writer.write(doc) ;    // 进行输出        writer.close() ;    }}

技术分享

dom4j读取文件DOM4JReader.java

package org.lxh.xml.dom4j ;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 + "output.xml") ;        SAXReader reader = new SAXReader() ;        Document doc = reader.read(file) ;            Element root = doc.getRootElement() ;            Iterator iter = root.elementIterator() ;        while(iter.hasNext()){            Element linkman = (Element) iter.next() ;            System.out.println("姓名:" + linkman.elementText("name")) ;            System.out.println("emeil:" + linkman.elementText("email")) ;        }    }}

输出结果:

技术分享

从程序中可以清楚的发现,DOM4J本身是需要使用SAX建立解析器然后通过文档找到根节点,在通过根节点找到每一个节点的内容。

java基础篇---XML解析(二)