使用dom4j操作XML
DOM4J介绍
DOM4J是使用Java语言编写的,用于读写及操作XML的一套组件,DOM4J同时具有DOM修改文件的优点和SAX读取快速的优点。
DOM4J的使用
首先下载dom4j的JAR包,我用的版本是1.6.1,下载地址:http://download.csdn.net/detail/onroads/9721574
使用方法《使用JDOM操作XML》,链接:http://www.cnblogs.com/centor/p/6215082.html
另外,解压后用到dom4j01.6.1.jar文件,还有一个lib/jaxen-1.1-beta-6.jar文件,一般也需要引入,否则执行时可能抛出java.lang.NoClassDefFoundError:org/jaxen/JaxenException异常。DOM4J的主要接口如下:

使用DOM4J
生成xml例程:
package com.xml; import java.io.File;
import java.io.FileOutputStream; import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter; public class XMLtest { public static void main(String args[]) throws Exception { String[] names = {"鸣人","佐助","小樱"};
String[] emails = {"mingren@163.com","zuozhu@163.com","xiaoying@163.com"};
String[] ids ={"H1","H2","H3"}; Document doc = DocumentHelper.createDocument();
Element addresslist = doc.addElement("addresslist"); for (int i = 0; i < 3; i++) {
Element linkman = addresslist.addElement("linkman");
Element name = linkman.addElement("name");
Element email = linkman.addElement("email");
name.setText(names[i]);
email.setText(emails[i]);
name.setAttributeValue("id", ids[i]);
} OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
try {
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("D:"+File.separator+"person.xml"), format);
xmlWriter.write(doc);
xmlWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
生成的xml文件:

解析XML文件:
package com.xml; import java.io.File;
import java.util.Iterator; import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; public class XMLtest { public static void main(String args[]) throws Exception { File file = new File("D:"+File.separator+"person.xml");
SAXReader reader = new SAXReader();
Document doc = null;
try {
doc = reader.read(file); } catch (Exception e) {
e.printStackTrace();
} Element root = doc.getRootElement();
Iterator iterator = root.elementIterator();
while(iterator.hasNext()){
System.out.println("<linkman>");
Element linkman = (Element) iterator.next();
System.out.println(" <name id="+ linkman.element("name").attributeValue("id")+">"+linkman.elementText("name")+"</name>");
System.out.println(" <email>"+linkman.elementText("email")+"</email>");
System.out.println("</linkman>");
}
}
}
解析结果:

使用dom4j操作XML的更多相关文章
- xml解析 使用dom4j操作xml
使用dom4j操作xml 1 导入 dom4j,的jar包 2 指定要解析的XML文件 SAXReader sr=new SAXReader(); Document document= sr.r ...
- DOM4J操作XML(包括封装和解析)
DOM4J操作XML(包括封装和解析) 先来看看dom4j中相应XML的DOM树建立的继承关系 针对于XML标准定义.相应于图2-1列出的内容,dom4j提供了下面实现: 以下给出一个详细事例: pa ...
- Strus2第一次课:dom4j操作xml
先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; ...
- XML学习笔记(2)--dom4j操作XML
1. 介绍(四种方式的比较这部分转载自:http://www.blogjava.net/xcp/archive/2010/02/12/312617.html) 1)DOM(JAXP Crimson解析 ...
- dom4j操作xml文档
java Dom4j解析XML文件 标签(空格分隔):java进阶 xml文档: <?xml version="1.0" encoding="UTF-8" ...
- 使用Dom4j操作XML数据
--------------siwuxie095 dom4j 是一个非常优秀的 Java XML 的 API, 用来读写 XML 文件 和操作 ...
- dom4j操作xml
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件.是一个非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源工具.可以在这个 ...
- dom4j操作xml对象
// 获取Documen对象 public static Document getDocument(String path) throws Exception{ ...
- dom4j操作xml的demo
package com.cn.shop.util; import java.io.File;import java.io.FileOutputStream;import java.io.OutputS ...
随机推荐
- jdbc向各种数据库发送sql语句
1.有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事.换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Info ...
- js 时间函数封装
html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- PHP 用 mb_strimwidth() 截取文章摘要
按字符宽度获取 mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encod ...
- asp.net 重定向的三种方法
1.Server.Transfer("URL"): 服务器停止解析本页,保存此页转向前的数据后,再使页面转向到newPage.aspx, 并将转向前数据加上newPage.aspx ...
- Object C中Block用法
先了解定义C语言的函数指针! int sum (int x, int y) { return x+ y; } // 定义函数 int (*p)(int, int) = sum; NSLog(, )); ...
- 解决国内npm依赖包安装慢的问题
可以通过 npm config set registry http://registry.npm.taobao.org命令设置镜像服务器为阿里巴巴镜像服务器,速度会快很多,亲测有效.
- MVC 上传 下载
[上传]带进度条 view 注:添加easyui的js文件 <script type="text/javascript"> function fileSelected ...
- C/C++源代码从写完到运行发生了什么
有时候经常听到一些不明觉厉的词语,什么编译啊链接啊语义分析啊的,就找书来看看,把笔记画成了图: 编译器干了些啥呢,如下图: 参考书:<程序员的自我修养——链接.装载与库>,<深入理解 ...
- [原创]Hadoop默认设置导致NameNode启动失败一例
看到市面上很多书在讲解Hadoop的时候都轻描淡写的提到了HDFS的设置问题.大多采取的是默认设置,最多也就是设置一些副本数量之类. 笔者在工作中遇到了这样一种情况:每次重启系统之后,NameNode ...
- Hyper-V 2012 R2 故障转移群集
和终端用户相比,企业用户对于业务的连续性和可靠性更为在意.相对而言,企业一般不会将追逐单一硬件的性能排在第一位. 如何衡量业务是否持续可用,一般使用"x 个 9"这种方式来定义.如 ...