1.JavaWeb基础 最出色的解析工具:DOM4J
2014-08-11 15:05
323 查看
DOM4J是一组XML操作的组件包,主要用来读写XML文件。由于DOM4J性能优异、功能强
大,而且具有易用性,所以现在已经被广泛地应用开来了。例如:Hibernate和Spring框架
中都使用了DOM4J进行XML的解析操作。
DOM4J的主要接口
一.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"));
}
}
}
大,而且具有易用性,所以现在已经被广泛地应用开来了。例如:Hibernate和Spring框架
中都使用了DOM4J进行XML的解析操作。
接口 | 描述 |
Attribute | 定义了XML的属性 |
Branch | 为能够包含子节点的节点,如XML元素(Element)和文档(Document) 定义了一个公共的行为 |
CDATA | 定义了 XML CDATA区域 |
CharacterData | 是一个标识接口,标识基于字符的节点,如CDATA、Comment、Text |
Comment | 定义了XML的注释 |
Document | 定义了XML文档 |
Element | 定义了XML元素 |
Text | 定义了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"));
}
}
}
相关文章推荐
- Java XML解析工具 dom4j介绍及使用实例
- JavaWeb - XML解析 - DOM4J
- dom4j解析xml、javaweb三层架构初探
- Java-Web之Dom4j解析操作xml
- Java ModelI和ModelII DTD文件解析 DOM4J基础应用
- Java XML解析工具 dom4j介绍及使用实例
- JAVA基础——使用DOM4J 解析xml
- Java基础系列17:使用DOM、SAX、JDOM、DOM4J解析XML文件详解
- Java XML解析工具 dom4j介绍及使用实例
- java基础-使用dom4j解析XML文件
- 【网络爬虫】【java】微博爬虫(四):数据处理——jsoup工具解析html、dom4j读写xml
- Javaweb Dom4j解析XMl
- javaweb-day02-2(00:40:06 XML 解析 - Dom4j解析开发包)
- 小博老师解析JavaWeb核心技术 ——JQuery基础
- DataCenter导出功能|快速开发工具|soa中间件|bpm工作流|基础架构|web表单|java报表
- javaWeb-day02(用 Dom4j 解析 XML)
- Java XML解析工具 dom4j介绍及使用实例
- JavaWeb-05 XML基础(Dom解析和Sax解析)
- java中dom4j解析xml生成xml文档,dom4j工具压缩包原代码
- 小博老师解析JavaWeb核心技术 ——JQuery基础