java dom4j解析xml实例
java利用dom4j解析xml 需要的jar包:
dom4j官方网站在 http://www.dom4j.org/
下载dom4j-1.6.1.zip
解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要加入包jaxen-1.1-beta-7.jar(如果不导入这个架包程序可以执行出结果,但最后会报异常)
将相关jar包引入后,实际解析操作如下:
1.要解析的xml文件data.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ReturnInfo>
<userlist>
<item index="1" level="60" nickname="凄惨的老生" country="金"
weiwang="136929" />
<item index="2" level="85" nickname="哭泣的至尊宝" country="金"
weiwang="97490" />
<item index="3" level="85" nickname="老公" country="金"
weiwang="91103" />
<item index="4" level="78" nickname="冉闵" country="金"
weiwang="82828" />
<item index="5" level="55" nickname="erggh" country="金"
weiwang="77440" />
<item index="6" level="60" nickname="孤峰" country="金"
weiwang="67821" />
<item index="7" level="60" nickname="乱世" country="金"
weiwang="67675" />
<item index="8" level="62" nickname="叛逆之神" country="金"
weiwang="61839" />
<item index="9" level="60" nickname="双乔主人" country="金"
weiwang="61647" />
<item index="10" level="60" nickname="视觉效果" country="金"
weiwang="50200" />
<item index="11" level="60" nickname="鬼鬼" country="金"
weiwang="49537" />
<item index="12" level="59" nickname="狂龙在天" country="金"
weiwang="46687" />
<item index="13" level="60" nickname="小子" country="金"
weiwang="46152" />
<item index="14" level="52" nickname="zzy" country="金"
weiwang="39017" />
<item index="15" level="53" nickname="ycf" country="金"
weiwang="30333" />
<item index="16" level="52" nickname="无界之魂" country="金"
weiwang="20294" />
<item index="17" level="42" nickname="刀锋狼" country="金"
weiwang="18842" />
<item index="18" level="60" nickname="mnbvc" country="金"
weiwang="18102" />
<item index="19" level="41" nickname="赢政" country="金"
weiwang="16331" />
<item index="20" level="52" nickname="徐匡胤" country="金"
weiwang="16156" />
</userlist>
</ReturnInfo>
2、具体解析程序如下:
package demo4; import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; public class TestJava {
public static void main(String args[]) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("D:/data.xml"));
Element rootElm = document.getRootElement();
Element root1Elm = rootElm.element("userlist");
List nodes = root1Elm.elements("item");
for (Iterator it = nodes.iterator(); it.hasNext();) {
Element elm = (Element) it.next();
System.out.println("index:" + elm.attributeValue("index")
+ " level:" + elm.attributeValue("level") + " nickname:"
+ elm.attributeValue("nickname") + " country:"
+ elm.attributeValue("country") + " weiwang:"
+ elm.attributeValue("weiwang"));
}
try {
Document doc = reader.read(new File("D:/data.xml"));
List projects = doc.selectNodes("ReturnInfo/userlist/item");
Iterator it = projects.iterator();
while (it.hasNext()) {
Element elm = (Element) it.next();
System.out.println("index:" + elm.attributeValue("index")
+ " level:" + elm.attributeValue("level")
+ " nickname:" + elm.attributeValue("nickname")
+ " country:" + elm.attributeValue("country")
+ " weiwang:" + elm.attributeValue("weiwang"));
} } catch (Exception ex) {
ex.printStackTrace();
}
} }
3、运行结果如下图所示:
<1>、jaxen-1.1-beta-7.jar架包导入后不报异常,正常得到结果:

<2>、jaxen-1.1-beta-7.jar架包不导入后报异常,但也能得到结果:

java dom4j解析xml实例的更多相关文章
- java dom4j解析xml实例(2)
java利用dom4j解析xml 需要的jar包: dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4 ...
- java dom4j解析xml实例(3)
代码运行前需要先导入dom4j架包. 需要解析的XML文件test.xml如下: <students> <student age="25"><!--如 ...
- java dom4j 解析xml使用实践
参考:https://dom4j.github.io/ http://www.cnblogs.com/liuling/archive/2013/02/05/dom4jxml.html 常用api: 1 ...
- java dom4j解析xml用到的几个方法
1. 读取并解析XML文档: SAXReader reader = new SAXReader(); Document document = reader.read(new File(fileName ...
- dom4j解析xml实例(2)
dom4j是一个java的XML API,类似jdom,用来读写XML文件,它性能优异.功能强大和极易使用等特点 所用jar包:dom4j-1.6.1.jar.jaxen-1.1-beta-6.jar ...
- dom4j解析xml实例
dom4j是一个java的XML API,类似jdom,用来读写XML文件,它性能优异.功能强大和极易使用等特点 所用jar包:dom4j-1.6.1.jar 需要解析的xml文件:people.xm ...
- JAVA DOM4j解析XML数据到自定义javabean
我们获取xml中的数据,一般以面向对象的思想去处理这些数据.因此,我们需要自定义类来封装解析出来的数据,以方便我们操作这些数据. 自定义的java类,称为javabean. 自定义Contact类代码 ...
- 【收藏用】--切勿转载JAVA 使用Dom4j 解析XML
原帖地址 : http://blog.csdn.NET/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1) ...
- JAVA 使用Dom4j 解析XML
[转自] http://blog.csdn.net/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1)下载 ...
随机推荐
- 《JavaScript高级程序设计》读书笔记 ---语句
do-while语句do-while 语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件.换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次.以下是do-whil ...
- zookeeper入门知识
ZooKeeper 是什么? ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) . 蜜蜂(Hive) .小猪(Pig) 的管理员, Apache Hbase和 Apache ...
- hdu_5742_It's All In The Mind
题目链接:hdu_5742_It's All In The Mind 题意: 有一个部分的数列,让你找一个满足他给的三个条件的数列,使前两个数的和除这个数列的sum最大 题解: xjb贪心一下就行了. ...
- hdu_1790_The Balance(母函数)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1709 题意:给你一些砝码,让你输出1—sum中不能称出的重量 题解:直接上母函数,在合并括号的时候有加 ...
- centos 7 切换运行模式
如设置命令行级别方法: systemctl set-default multi-user.target 设置窗口级别方法: systemctl set-default graphical.target
- 第3章 Java语言基础----声明常量
在程序运行过程中一直不会改变的量称为常量(constant),通常也被称为“final变量”: 声明常量的语句:final 数据类型 常量名[=值] 备注:1)常量名通常使用大写字母,但并不是必须的; ...
- CentOS 7 时区设置
设置时区同样, 在 CentOS 7 中, 引入了一个叫 timedatectl 的设置设置程序. 用法很简单: # timedatectl # 查看系统时间方面的各种状态 $timedatectl ...
- Qt 5简介
Qt 5简介 Qt 5概要介绍 在Qt 5这个版本中,Qt Quick成为了Qt的核心.但是Qt 5也继续提供了本地C++强大的功能来完成更好的用户体验,也提供了对OpenGL/OpenGL ES图形 ...
- TextUtils使用
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceS ...
- linux 内核协议栈收报流程(一)ixgbe网卡驱动
首先模块加载insmod ixgbe.ko module_init(ixgbe_init_module); module_init(ixgbe_init_module); { int ret; pr_ ...