使用java里的dom4j解析xml文件
时间: 2024-05-12 12:19:56 浏览: 112
1. 导入dom4j库
在项目中添加dom4j的库文件,或者使用Maven或Gradle等构建工具添加依赖。
2. 创建Document对象
使用SAXReader类的read方法读取xml文件,并将其转化为Document对象。
```java
SAXReader reader = new SAXReader();
Document document = reader.read(new File("example.xml"));
```
3. 获取根节点
通过Document对象的getRootElement方法获取xml文件的根节点。
```java
Element root = document.getRootElement();
```
4. 获取子节点
使用Element对象的elements方法获取所有子节点,并使用element方法获取指定子节点。
```java
List<Element> list = root.elements(); // 获取所有子节点
Element child = root.element("child"); // 获取名为child的子节点
```
5. 获取节点属性
使用Element对象的attributeValue方法获取节点的属性值。
```java
String value = child.attributeValue("attr"); // 获取名为attr的属性值
```
6. 获取节点文本
使用Element对象的getText方法获取节点的文本内容。
```java
String text = child.getText(); // 获取节点的文本内容
```
完整示例代码:
```java
import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jDemo {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("example.xml"));
Element root = document.getRootElement();
List<Element> list = root.elements();
for (Element child : list) {
String attrValue = child.attributeValue("attr");
String text = child.getText();
System.out.println("attr value: " + attrValue);
System.out.println("text: " + text);
}
}
}
```
阅读全文