dom4j的事件处理模型涉及的类和接口:
3.1、类:SAXReader
public void addHandler(String path,ElementHandler handler)
当解析到path指定的路径时,将调用参数handler指定的处理器。针对不同的节点可以添加多个handler实例。或者调用默认的Handler setDefaultHandler(ElementHandler handler);
3.2、接口ElementHandler
public void onStart(ElementPath path)
该方法在解析到元素的开始标签时被调用。
public void onEnd(ElementPath path)
该方法在解析到元素的结束标签时被调用
3.3、接口:ElementPath (假设有参数:ElementPath path)
public void addHandler(String path,ElementHandler)
该方法与SAXReader类中的addHandler()方法的作用相同。路径path可以是绝对路径(路径以/开头),也可以是相对路径(假设是当前路径的子节点路径)。
public void removeHandler(String path)
移除指定路径上的ElementHandler实例。路径可以是相对路径,也可以是绝对路径。
public String getPath()
该方法得到当前节点的路径。该方法返回的是完整的绝对路径
public Element getCurrent()
该方法得到当前节点。
3.3、Element类
getQName() | 元素的QName对象 |
getNamespace() | 元素所属的Namespace对象 |
getNamespacePrefix() | 元素所属的Namespace对象的prefix |
getNamespaceURI() | 元素所属的Namespace对象的URI |
getName() | 元素的local name |
getQualifiedName() | 元素的qualified name |
getText() | 元素所含有的text内容,如果内容为空则返回一个空字符串而不是null |
getTextTrim() | 元素所含有的text内容,其中连续的空格被转化为单个空格,该方法不会返回null |
attributeIterator() | 元素属性的iterator,其中每个元素都是Attribute对象 |
attributeValue() | 元素的某个指定属性所含的值 |
elementIterator() | 元素的子元素的iterator,其中每个元素都是Element对象 |
element() | 元素的某个指定(qualified name或者local name)的子元素 |
elementText() | 元素的某个指定(qualified name或者local name)的子元素中的text信息 |
getParent | 元素的父元素 |
getPath() | 元素的XPath表达式,其中父元素的qualified name和子元素的qualified name之间使用"/"分隔 |
isTextOnly() | 是否该元素只含有text或是空元素 |
isRootElement() | 是否该元素是XML树的根节点 |
3.4、类DocumentHelper
DocumentHelper 是用来生成生成 XML 文档的工厂类
乐享:知识积累,快乐无限。