代码运行前需要先导入dom4j架包。

需要解析的XML文件test.xml如下:

<students>
<student age="25"><!--如果没有age属性,默认的为20-->
<name>崔卫兵</name>
<college>PC学院</college>
<telephone>62354666</telephone>
<notes>男,1982年生,硕士,现就读于北京邮电大学</notes>
</student>
<student age="26">
<name>cwb</name>
<college leader="学院领导">PC学院</college><!--如果没有leader属性,默认的为leader-->
<telephone>62358888</telephone>
<notes>男,1987年生,硕士,现就读于中国农业大学</notes>
</student>
</students>

<1>、当测试文件test.xml在D盘时,Java程序代码如下:

package Test01;

import java.io.FileNotFoundException;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; public class test01 { public void testRead() throws DocumentException, FileNotFoundException{
SAXReader reader=new SAXReader(); Document doc=reader.read("D:/test.xml");
Element root =doc.getRootElement();
for(@SuppressWarnings("rawtypes")
Iterator it=root.elementIterator();it.hasNext();){
Element element=(Element)it.next(); System.out.println(element.attribute("age").getName()+" == "+element.attribute("age").getValue());
System.out.println(element.attributeValue("age"));
System.out.println(element.getName());
for(@SuppressWarnings("rawtypes")
Iterator itt=element.elementIterator();itt.hasNext();){
//System.out.println(element.attributeValue("age"));
Element el=(Element)itt.next();
System.out.println(el.getName()+"=="+el.getText());
//getText()获取的是两个标签间的数据如"<name>崔卫兵</name>"中的崔卫兵
//getName()获取的是标签名,即“<student age="25"><name>崔卫兵</name>”中的age和name
//attributeValue("age")可获取age的值即25
}
System.out.println("==================");
}
} public static void main(String[] args){
try {
new test01().testRead();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

代码运行后控制台显示结果如下:

<2>、当测试文件test.xml和项目在一起时,Java程序代码如下:

package Test01;

import java.io.FileNotFoundException;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; public class test01 { public static void testRead(String path) throws DocumentException, FileNotFoundException{
SAXReader reader=new SAXReader(); //Document doc=reader.read("D:/test.xml");
Document doc = reader.read(path);
Element root =doc.getRootElement();
for(@SuppressWarnings("rawtypes")
Iterator it=root.elementIterator();it.hasNext();){
Element element=(Element)it.next(); System.out.println(element.attribute("age").getName()+" == "+element.attribute("age").getValue());
System.out.println(element.attributeValue("age"));
System.out.println(element.getName());
for(@SuppressWarnings("rawtypes")
Iterator itt=element.elementIterator();itt.hasNext();){
//System.out.println(element.attributeValue("age"));
Element el=(Element)itt.next();
System.out.println(el.getName()+"=="+el.getText());
//getText()获取的是两个标签间的数据如"<name>崔卫兵</name>"中的崔卫兵
//getName()获取的是标签名,即“<student age="25"><name>崔卫兵</name>”中的age和name
//attributeValue("age")可获取age的值即25
}
System.out.println("==================");
}
} public static void main(String[] args){
// try {
// new test01().testRead();
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
try {
testRead("test.xml");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

代码运行后控制台显示结果如下:

java dom4j解析xml实例(3)的更多相关文章

  1. java dom4j解析xml实例(2)

    java利用dom4j解析xml 需要的jar包: dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4 ...

  2. java dom4j解析xml实例

    java利用dom4j解析xml 需要的jar包: dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4 ...

  3. java dom4j 解析xml使用实践

    参考:https://dom4j.github.io/ http://www.cnblogs.com/liuling/archive/2013/02/05/dom4jxml.html 常用api: 1 ...

  4. java dom4j解析xml用到的几个方法

    1. 读取并解析XML文档: SAXReader reader = new SAXReader(); Document document = reader.read(new File(fileName ...

  5. dom4j解析xml实例(2)

    dom4j是一个java的XML API,类似jdom,用来读写XML文件,它性能优异.功能强大和极易使用等特点 所用jar包:dom4j-1.6.1.jar.jaxen-1.1-beta-6.jar ...

  6. dom4j解析xml实例

    dom4j是一个java的XML API,类似jdom,用来读写XML文件,它性能优异.功能强大和极易使用等特点 所用jar包:dom4j-1.6.1.jar 需要解析的xml文件:people.xm ...

  7. JAVA DOM4j解析XML数据到自定义javabean

    我们获取xml中的数据,一般以面向对象的思想去处理这些数据.因此,我们需要自定义类来封装解析出来的数据,以方便我们操作这些数据. 自定义的java类,称为javabean. 自定义Contact类代码 ...

  8. 【收藏用】--切勿转载JAVA 使用Dom4j 解析XML

    原帖地址 : http://blog.csdn.NET/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1) ...

  9. JAVA 使用Dom4j 解析XML

    [转自] http://blog.csdn.net/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1)下载 ...

随机推荐

  1. leetcode21

    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...

  2. hdu_4651_Partition(公式)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:给你一个数n,让你输出将n拆分的方案数. 题解:公式题,不解释,当模版记住就行 #incl ...

  3. openwrt之snmpd

    OpenWRT uses UCI (/etc/config/snmpd) to generate the /etc/snmp/snmpd.conf , so you cannot simply edi ...

  4. 几种访问其他域swf文件,或本地浏览器运行环境【安全沙箱】冲突解决方法

    声明: 几种方法都源自网络,我只负责汇总一下子,因为来自多方转载,也找不到初始出处了,需要的可以随意收藏,物尽其用,蛮好^_^ 对于类似的出错信息:SecurityError: Error #2148 ...

  5. Spring security 获取当前用户

    spring security中当前用户信息 1:如果在jsp页面中获取可以使用spring security的标签库 在页面中引入标签   1 <%@ taglib prefix=" ...

  6. 【转】虚拟机下安装小红帽Linux9.0图解

    http://blog.163.com/ly676830315@126/blog/static/10173372220119148583539/

  7. Fragment和Activity之间通过广播的方式传递数据

    四大组件之间传递数据可以用广播,但是有次面试官说太重了,用eventbus代替.下面的广播传递数据方法仅当学习参考. 1.管理类 /** * 广播管理类:注册广播.注销广播.发送广播 * @autho ...

  8. 一篇很全面的freemarker教程 前端工程师必备

    FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输 ...

  9. Entity Framework 学习中级篇3—存储过程(中)

    目前,EF对存储过程的支持并不完善.存在以下问题: l         EF不支持存储过程返回多表联合查询的结果集. l         EF仅支持返回返回某个表的全部字段,以便转换成对应的实体.无法 ...

  10. MVC(@html.action)调用子操作方法

    1*简单调用 子操作方法: 服务端 客户端 2.带有参数的调用 子操作方法 服务端 客户端