DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP。
DOM4J 使用起来非常简单。只要你了解基本的 XML-DOM 模型,就能使用。
Dom:把整个文档作为一个对象。
DOM4J 最大的特色是使用大量的接口。它的主要接口都在org.dom4j里面定义:
| Attribute | 定义了 XML 的属性。 |
| Branch | 指能够包含子节点的节点。如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为 |
| CDATA | 定义了 XML CDATA 区域 |
| CharacterData | 是一个标识接口,标识基于字符的节点。如CDATA,Comment, Text. |
| Comment | 定义了 XML 注释的行为 |
| Document | 定义了XML 文档 |
| DocumentType | 定义 XML DOCTYPE 声明 |
| Element | 定义XML 元素 |
| ElementHandler | 定义了Element 对象的处理器 |
| ElementPath | 被 ElementHandler 使用,用于取得当前正在处理的路径层次信息 |
| Entity | 定义 XML entity |
| Node | 为dom4j中所有的XML节点定义了多态行为 |
| NodeFilter | 定义了在dom4j 节点中产生的一个滤镜或谓词的行为(predicate) |
| ProcessingInstruction | 定义 XML 处理指令 |
| Text | 定义 XML 文本节点 |
| Visitor | 用于实现 Visitor模式 |
| XPath | 在分析一个字符串后会提供一个 XPath 表达式 |
接口之间的继承关系如下:
interface java.lang.Cloneable
interface org.dom4j.Node
interface org.dom4j.Attribute
interface org.dom4j.Branch
interface org.dom4j.Document
interface org.dom4j.Element
interface org.dom4j.CharacterData
interface org.dom4j.CDATA
interface org.dom4j.Comment
interface org.dom4j.Text
interface org.dom4j.DocumentType
interface org.dom4j.Entity
interface org.dom4j.ProcessingInstruction
