dom4j 解析xml 转成map
时间: 2023-09-08 16:08:30 浏览: 101
用dom4j解析xml文件
可以使用dom4j和Java的Map类来解析XML文件并将其转换为Map对象。下面是一个简单的示例代码:
```java
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jXmlParser {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
File file = new File("example.xml");
Document document = reader.read(file);
Map<String, Object> map = new HashMap<String, Object>();
Element root = document.getRootElement();
map.put(root.getName(), iterateElement(root));
System.out.println(map);
}
@SuppressWarnings("unchecked")
private static Map<String, Object> iterateElement(Element element) {
List<Element> elements = element.elements();
Map<String, Object> map = new HashMap<String, Object>();
for (Element e : elements) {
List<Element> children = e.elements();
if (children.isEmpty()) {
map.put(e.getName(), e.getText());
} else {
map.put(e.getName(), iterateElement(e));
}
}
return map;
}
}
```
在上面的代码中,我们使用SAXReader来读取XML文件,然后使用iterateElement方法递归遍历XML文件并将其转换为Map对象。最后,我们将Map对象打印出来以进行验证。
阅读全文