dom4j的事件处理模型涉及的类(1个)和接口(2个)。
类:SAXReader
方法:public void addHandler(String path,ElementHandler handler)
功能:当解析到path指定的路径时,将调用参数handler指定的处理器。针对不同的节点可以添加多个handler实例
 
接口:ElementHandler
方法(2个):
public void onStart(ElementPath path)
功能:该方法在解析到元素的开始标签时被调用。
public void onEnd(ElementPath path)
功能:该方法在解析到元素的结束标签时被调用
 
接口:ElementPath (假设有参数:ElementPath path
方法(4):
public void addHandler(String path,ElementHandler)
功能:该方法与SAXReader类中的addHandler()方法的作用相同。路径path可以是绝对路径(路径以/开头),也可以是相对路径(假设是当前路径的子节点路径)。
public void removeHandler(String path)
功能:移除指定路径上的ElementHandler实例。路径可以是相对路径,也可以是绝对路径。
 
public String getPath()
功能:该方法得到当前节点的路径。
例如:
System.out.println("path:"+path.getPath());
结果是:path:/students/student/name
由此可见该方法返回的是完整的绝对路径
public Element getCurrent()
功能:该方法得到当前节点。 
 
示例使用的xml文档的内容:
 
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="students.xsl"?>
<students>
<student sn="01">
<name>张三</name>
<age>18</age>
</student>
 
<student sn="02">
<name>李四</name>
<age>22</age>
</student>
 
</students>