java dom4j解析xml实例(3)

代码运行前需要先导入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)

时间: 2024-08-04 06:40:05

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

java dom4j解析xml实例(2)

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文件province.xml: <china dn="d

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

dom4j解析xml实例

dom4j是一个java的XML API,类似jdom,用来读写XML文件,它性能优异.功能强大和极易使用等特点 所用jar包:dom4j-1.6.1.jar 需要解析的xml文件:people.xml Xml代码   <people city="shenzhen"> <student name="milton" age="22"></student> <student name="lego&q

dom4j解析xml实例(2)

dom4j是一个java的XML API,类似jdom,用来读写XML文件,它性能优异.功能强大和极易使用等特点 所用jar包:dom4j-1.6.1.jar.jaxen-1.1-beta-6.jar 需要解析的xml文件:people.xml <people city="shenzhen"> <student name="milton" age="22"></student> <student name

XML_05_DOM、JDOM、DOM4J解析XML实例

标签: xmlstringencoding文档tabledisk 2012-06-12 20:31 866人阅读 评论(0) 收藏 举报 分类: XML(7) java(44) 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一.DOM方式 原始name.xml [html] view plain copy <?xml version="1.0" encoding="GB2312" standalone="no"?&

Java dom4j 解析xml

1.解析xml 开始之前需要先在项目中导入dom4j的第三方jar包 需要解析的xml: <?xml version="1.0" encoding="UTF-8"?> <list> <emp id="1" > <name>张三</name> <age>34</age> <gender>男</gender> <salary>300

java dom4j 解析XML文件 简易教程

XML 来自: W3School XML 被设计用来传输和存储数据. HTML 被设计用来显示数据. 什么是 XML? eXtensible Markup Language XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义.您需要自行定义标签. XML 被设计为具有自我描述性. XML 是 W3C 的推荐标准 XML 与 HTML 的主要差异 XML 不

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

原帖地址 : http://blog.csdn.NET/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1)下载dom4j-1.6.1.jar (2)下载junit-4.10.jar 2.温馨提示 解析XML过程是通过获取Document对象,然后继续获取各个节点以及属性等操作,因此获取Document对象是第一步,大体说来,有三种方式: (1)自己创建Document对象   Document docu

【java项目实战】dom4j解析xml文件,连接Oracle数据库

简介 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方,我们还是看一下官方给出的解释.如下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT等语言的库.它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP等编程标准. 特点 dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用的特点,同时它也是一个开放源代码的软件.如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例