Dom4j也可以很方便完成XML文档的创建、元素的修改、文档的查询遍历等,但dom4j稍比jdom复杂一点,不过在大片文档的情况下dom4j的性能要不jdom好。
# 准备
首先,提供相关的jar包
Dom4j jar包下载:
http://sourceforge.net/projects/dom4j/files/dom4j-2.0.0-ALPHA-2/
jaxen jar下载:
http://repo1.maven.org/maven2/jaxen/jaxen/1.1.1/jaxen-1.1.1.jar
和dom4j依赖或相关的jar:
http://dom4j.sourceforge.net/dependencies.html
Junit-jar下载:
##################################################################################################################
不使用vistor方式自己封装的Dom4j工具类:
package com.unionpay.upa.importer;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.DOMReader;
import org.dom4j.io.SAXReader;
import org.xml.sax.SAXException;
public class Dom4jReader {
private static Dom4jReader instance = null;
// SAX
public Element getRootElementBySAXPattern(String fileName)
throws DocumentException {
SAXReader saxReader = new SAXReader();
Document doc = saxReader.read(new File(fileName));
return doc.getRootElement();
}
// DOM
public Element getRootElmentByDomPattern(String fileName)
throws ParserConfigurationException, SAXException, IOException {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
File file = new File(fileName);
org.w3c.dom.Document document = db.parse(file);
DOMReader domReader = new DOMReader();
Document doc = domReader.read(document);
return doc.getRootElement();
}
// get instance
public static Dom4jReader getInstance() {
synchronized (Dom4jReader.class) {
if (instance == null) {
instance = new Dom4jReader();
}
}
return instance;
}
}
########################################################################################
使用dom4j的vistor方式代码:
1.MyVisitor.java
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.VisitorSupport;
public class MyVisitor extends VisitorSupport {
@Override
public void visit(Attribute node) {
System.out.println("属性:"+node.getName()+"="+node.getText());
}
@Override
public void visit(Document document) {
// TODO Auto-generated method stub
super.visit(document);
}
@Override
public void visit(Element node) {
//node.elementTextTrim("");
System.out.println("节点: "+node.getName()+"="+node.getTextTrim());
if("mappingNum".equals(node.getName())){
int mappingNum = Integer.parseInt(node.getTextTrim());
}else if("logFileColumn".equals(node.getName())){
String logFileColumn = node.getTextTrim();
}else if("tableName".equals(node.getName())){
String tableName = node.getTextTrim();
}else if("tableColumnParam".equals(node.getName())){
String tableColumnParam = node.getTextTrim();
}
}
}
2.VisitorXML.java
import java.io.File;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
public class VisitorXML {
public static void readFile(String fileName) throws Exception{
SAXReader reader = new SAXReader() ;
Document document = reader.read(new File(fileName)) ;
//通过访问者自动遍历节点
document.accept(new MyVisitor()) ;
}
public static void main(String[] args) {
try {
readFile("src/dataImport.xml");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
相关推荐
使用dom4j读取xml四种方法,希望对各位朋友有所帮助
Dom4j是一个开源的Java XML 解析处理工具,用来读写XML文件,它应用于Java平台,采用了Java集合框架并完全支持DOM, SAX和JAXP。具有性能优异、功能强大和极易使用的特点。...本文讲述了如何使用Dom4j来进行XML解析。
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
详细介绍了使用Dom4j进行xml文件的读取方法
dom4j解析XML文件格式dom4j解析XML文件格式dom4j解析XML文件格式
DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件
该示例实现MAVEN来进行创建的,实现了dom4j操作XML文件,包括创建XML、动态创建XML节点、更新XML节点、删除XML节点。
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
dom4j解析xml文件代码示例 dom4j解析xml文件代码示例 dom4j解析xml文件代码示例
例题采用的是dom4j对xml的操作,包含了对xml的增加删除修改操作.
使用dom4j对xml文档进行增删改. 查询就不用说了,使用elements(....)/element(...)/attributeValue()/getText()等方法
使用DOM4J对XML文件操作-添加、修改、删除、获取元素节点
本文件主要介绍我们怎么从dom4j中读取xml文件中的信息
本教程是dom4j操作xml的增删改查的案例,当我们使用dom4j可以做基础性的参考
java中dom4j读写XML(项目中含所需要的jar包)
完整的讲解一个dom4j对xml的增删改查
dom4j解析xml文件的压缩包,完整版。对jdom进行了封装。包含源码,jar包以及所需的全部内容。
NULL 博文链接:https://sxpujs.iteye.com/blog/375485
XMLTest.java中创建XML和解析XML示例,另附dom4j资源包