您的位置:首页 > 编程语言 > Java开发

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

2014-08-11 15:05 323 查看
   DOM4J是一组XML操作的组件包,主要用来读写XML文件。由于DOM4J性能优异、功能强

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

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

DOM4J的主要接口
接口描述
Attribute定义了XML的属性
Branch为能够包含子节点的节点,如XML元素(Element)和文档(Document)

定义了一个公共的行为
CDATA定义了 XML CDATA区域
CharacterData是一个标识接口,标识基于字符的节点,如CDATA、Comment、Text
Comment定义了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"));

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: