代码运行前需要先导入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. java代理的深入浅出(三)-JavaAssist,ASM

    简介 类似字节码操作方法还有ASM.几种动态编程方法相比较,在性能上Javassist高于反射,但低于ASM,因为Javassist增加了一层抽象.在实现成本上Javassist和反射都很低,而ASM ...

  2. 转:JMeter进行Java 请求测试

    本文转自:http://blog.csdn.net/xiazdong/article/details/7873767 向原作者致敬,看了他的文章才让我顺利解决了JMeter测试中的问题,万分感谢! 目 ...

  3. Astyle编程语言格式化工具的说明

    1.工具->扩展和更新,搜astyle插件,下载安装重启,当前是2.0版本. 2.工具->选项->AStyle Formatter->Edit,填入下面的,点击save,确定. ...

  4. YII 常用路径总结

      Yii framework已经定义的命名空间常量 system: 指向Yii框架目录; YII\framework zii: 指向zii library 目录; YII\framework\zii ...

  5. 给table加边框的两种方法

    <!DOCTYPE html><html><head><style>.a { border-spacing: 1px; background-color ...

  6. ecshop 去版权

    与官网通信的几个地方: 1,打开admin/templates/index.htm,查找并删除 <frameset rows="0, 0" framespacing=&quo ...

  7. /etc/rc.local 与 /etc/init.d Linux 开机自动运行程序

    1. /etc/rc.local 这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里 --------引用---------------------- 在完成 run level 3 ...

  8. C# 将字符串转为&#2345;这种的 html实体编码

    1.字符串转为html实体编码 private string GetHtmlEntities(string str) { string r = string.Empty; ; i < str.L ...

  9. Java学习笔记之I/O流(读取压缩文件以及压缩文件)

    1.读取压缩文件:ZipInputStream 借助ZipFile类的getInputStream方法得到压缩文件的指定项的内容,然后传递给InputStreamReader类的构造方法,返回给Buf ...

  10. 编写Linux/Unix守护进程

    原文: http://www.cnblogs.com/haimingwey/archive/2012/04/25/2470190.html 守护进程在Linux/Unix系统中有着广泛的应用.有时,开 ...