1.JavaWeb基础 最出色的解析工具:DOM4J

来源:互联网 发布:电脑怎么截图淘宝客服 编辑:程序博客网 时间:2024/06/06 18:09






   DOM4J是一组XML操作的组件包,主要用来读写XML文件。由于DOM4J性能优异、功能强

大,而且具有易用性,所以现在已经被广泛地应用开来了。例如:Hibernate和Spring框架

中都使用了DOM4J进行XML的解析操作。



DOM4J的主要接口接口描述Attribute定义了XML的属性Branch

为能够包含子节点的节点,如XML元素(Element)和文档(Document)
定义了一个公共的行为
CDATA定义了 XML CDATA区域CharacterData是一个标识接口,标识基于字符的节点,如CDATA、Comment、TextComment定义了XML的注释Document定义了XML文档Element定义了XML元素Text定义了XML文本节点





一.DOM4J生成XML文件


package com.zyy.jwb;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.UnsupportedEncodingException;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.XMLWriter;/** * DOM4J生成XML *  * @author CaMnter *  */public class DOM4JWriter {public static void main(String[] args) {// 创建文档Document doc = DocumentHelper.createDocument();// 定义节点Element parent = doc.addElement("parent");// 定义子节点Element children = parent.addElement("children");Element name = children.addElement("name");Element email = children.addElement("email");// 设置子节点内容name.setText("CaMnter");email.setText("www.CaMnter.com");// 设置输出格式OutputFormat outputFormat = OutputFormat.createPrettyPrint();// 指定输出编码outputFormat.setEncoding("GBK");// 取得当前操作目录String curDir = System.getProperty("user.dir");// 输出try {XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File(curDir + File.separator + "outputXML.xml")), outputFormat);xmlWriter.write(doc);xmlWriter.close();} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}








二.DOM4J读取XML文件




package com.zyy.jwb;import java.io.File;import java.util.Iterator;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;/** * DOM4J读取XML *  * @author CaMnter *  */public class DOM4JReader {public static void main(String[] args) {// 取得当前操作目录String curDir = System.getProperty("user.dir");File file = new File(curDir + File.separator + "outputXML.xml");SAXReader reader = new SAXReader();Document doc = null;// 读取try {doc = reader.read(file);} catch (DocumentException e) {e.printStackTrace();}// 取得根节点Element root = doc.getRootElement();Iterator iter = root.elementIterator();while (iter.hasNext()) {Element children = (Element) iter.next();System.out.println(children.elementText("name"));System.out.println(children.elementText("email"));}}}














0 0
原创粉丝点击