dom4j的事件处理模型涉及的类(1个)和接口(2个)。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

类: 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 >