<?xml version="1.0" encoding="UTF-8"?>
<students>
<student>
<name sn="01">张三</name>
<age>18</age>
</student>
<student>
<name sn="02">李四</name>
<age>20</age>
</student>
</students>
import java.io.File;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.ElementHandler;
import org.dom4j.ElementPath;
import org.dom4j.io.SAXReader;
/**
* 在不读完XML文档的时候解析里面的数据
* ElemnetHandler
* ElementPath
* @author Administrator
*
*/
public class ElementHandlerTest {
public static void main(String[] args){
//创建一个SAXReader对象来读取XML文档
SAXReader sax = new SAXReader();
//ADD一个Handler,用于监听,当读到对应元素时,采取相应的onStart,onEnd里面编写的方法
//还要指定路径,有相对的,也有绝对的,下面就是绝对的
//StudentHandler()和NameHandler()都是绝内部类,都implement ElementHandler
sax.addHandler("/students/student", new ElementHandlerTest.StudentHandler());
try {
//读取一个XML文档,返回一个Document对象
//读的时候就监听
sax.read(new File("students.xml"));
} catch (DocumentException e) {
e.printStackTrace();
}
}
private static class StudentHandler implements ElementHandler{
public void onStart(ElementPath elementPath) {
//getCurrent()获得当前元素
Element e = elementPath.getCurrent();
//attributeValue("sn"))获得当前元素的sn属性
System.out.println(e.attributeValue("sn"));
//ElementPath里面也可以添加addHandler,这里面用的是相对路径
elementPath.addHandler("name", new ElementHandlerTest.NameHandler());
}
public void onEnd(ElementPath elementPath) {
elementPath.removeHandler("name");
}
}
private static class NameHandler implements ElementHandler{
public void onStart(ElementPath elementPath) {
//获得当前路径
System.out.println(elementPath.getPath());
}
public void onEnd(ElementPath elementPath) {
Element e = elementPath.getCurrent();
//获得元素的值和名字
System.out.println(e.getName()+":"+e.getText());
}
}
}
分享到:
相关推荐
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
dom4j解析xml文件代码示例 dom4j解析xml文件代码示例 dom4j解析xml文件代码示例
dom4j解析xml文件的压缩包,完整版。对jdom进行了封装。包含源码,jar包以及所需的全部内容。
dom4j解析XML文件格式dom4j解析XML文件格式dom4j解析XML文件格式
dom4j解析XML文档.ppt
完整的讲解一个dom4j对xml的增删改查
一个关于用dom4j解析xml,遍历xml,建立xml的简单例子
Java使用sax、dom、dom4j解析xml文档的代码,包含dom4j的jar包。
分别使用DOM和DOM4j解析XML文件,因为目前使用最广泛的是DOM4j所以只写了用DOM4j对XML进行增删改查。
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
dom4j是一种解析XML文档的开放源代码XML框架。本文介绍如何使用包含在dom4j中的解析器创建并修改XML文档。dom4j API包含一个解析XML文档的工具。本文中将使用这个解析器创建一个示例XML文档,然后使用同一个解析器...
自己写的一个dom4j解析xml文件工具类
本人自己研究的解析方法,主要用dom4j解析XML文件,进而获取里面的信息
dom4j解析xml,利用反射机制.将解析出来的信息保存到一个类当中
很详细的文档 可以借鉴下 希望对你有帮助
Dom4j解析Xml文件源码 源码描述: 一、源码介绍 通过dom4j解析自定义xml文件 二、主要功能 自定义xml文件,自定义实体,通过dom4j解析出该xml的demo 三、注意事项 开发环境为jdk1.8,无数据库
dom4j 解析xml文件小例子 dom4j 解析xml文件小例子
java dom4j 解析xml文档 使用java操作xml 例如创建 读取 删除 等等
dom4j解析xml,连接oracle数据库实例
简单的Dom4j解析XML文件(带注释) 并利用解析的数据访问MySql数据库