java dom4j 解析xml
时间: 2025-01-03 17:40:49 浏览: 5
### Java 使用 DOM4j 解析 XML 文件
DOM4j 是一个功能强大且易于使用的开源库,专为处理 XML 数据而设计。该库全面支持 Java 集合框架并集成多种标准接口如 DOM 和 SAX[^1]。
#### 获取 Document 对象
解析 XML 的首要步骤是从输入源创建 `Document` 实例。存在三种主要方法来完成此操作:
- **SAXReader.read() 方法**
这是最常用的方式之一,适用于大多数场景下的 XML 文档读取。
```java
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
public class Dom4jExample {
public static void main(String[] args) throws Exception {
// 创建一个新的SAXReader实例
SAXReader reader = new SAXReader();
// 加载XML文档到内存中形成树结构
Document document = reader.read(new File("example.xml"));
}
}
```
- **其他两种方式**
除了上述提到的通过 `SAXReader` 来构建外,还可以利用字符串或者 URL 输入流作为数据源直接转换成 `Document` 类型的对象[^4]。
#### 访问节点与属性
一旦拥有了代表整个 XML 结构的 `Document` 对象之后,就可以轻松访问其中任意层次上的元素及其特性了。
```java
// 获得根元素
Element root = document.getRootElement();
// 输出根标签名
System.out.println(root.getName());
// 查找特定名称的孩子结点
List<Element> children = root.elements("childTag");
for (Element child : children){
System.out.println(child.getText());
}
// 获取指定路径下的单个子元素
Element specificChild = root.element("specificPath");
if(specificChild != null){
String attributeValue = specificChild.attributeValue("attrName");
System.out.println(attributeValue);
}
```
以上代码片段展示了如何遍历 XML 树状结构中的不同部分,并提取所需的信息。
阅读全文