dom4j是一个开源XML解析包。
我平时使用dom4j主要是结合xpath使用的。
XPath 是一门在 XML 文档中查找信息的语言,先简单的介绍下:
选取节点
XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。
下面列出了最有用的路径表达式:
| 表达式 | 描述 |
|---|---|
| nodename | 选取此节点的所有子节点。 |
| / | 从根节点选取。 |
| // | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 |
| . | 选取当前节点。 |
| .. | 选取当前节点的父节点。 |
| @ | 选取属性。 |
谓语(Predicates)
谓语用来查找某个特定的节点或者包含某个指定的值的节点。
谓语被嵌在方括号中
dom4j具体用法:
1.创建Document对象
SAXReader reader = new SAXReader();
Document document = reader.read(url);
2.遍历
Element root = document.getRootElement();
for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
// do something
}
3.使用XPATH
List list = document.selectNodes( "//xx/xx" );
Node node = document.selectSingleNode( "//xx/xx/" );
API:
|
Attribute定义了XML的属性
| |
|
Branch为能够包含子节点的节点如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为,
| |
|
CDATA 定义了XML CDATA 区域
| |
|
CharacterData是一个标识借口,标识基于字符的节点。如CDATA,Comment, Text.
| |
|
Comment 定义了XML注释的行为
| |
|
定义了XML文档
| |
|
DocumentType 定义XML DOCTYPE声明
| |
|
Element定义XML 元素
| |
|
ElementHandler定义了 Element 对象的处理器
| |
|
被
ElementHandler 使用,用于取得当前正在处理的路径层次信息
| |
|
Entity定义 XML entity
| |
|
Node为所有的dom4j中XML节点定义了多态行为
| |
|
NodeFilter 定义了在dom4j节点中产生的一个滤镜或谓词的行为(predicate)
| |
|
ProcessingInstruction 定义 XML 处理指令.
| |
|
Text 定义XML 文本节点.
| |
|
Visitor 用于实现Visitor模式.
| |
|
XPath 在分析一个字符串后会提供一个XPath 表达式
|
dom4j官网地址: http://dom4j.sourceforge.net/
1.6.1 API地址: http://dom4j.sourceforge.net/dom4j-1.6.1/apidocs/index.html

本文详细介绍了DOM4J作为开源XML解析包的使用方法,特别是如何结合XPath在XML文档中进行节点选取与操作。涵盖了DOM4J的基本用法,包括创建Document对象、遍历节点以及使用XPath进行复杂查询。同时提供了API文档链接,方便进一步学习与实践。
34万+

被折叠的 条评论
为什么被折叠?



