定义:DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP
解析XML文件,需要添加maven依赖,当然如果不是maven项目,直接下载jar包,并添加到编译路径即可
步骤:// 创建解析器SAXReader对象
//获取document对象;使用解析器对象的read方法,read方法需要文件对象,需要什么类型就创建什么类型
注:此时需要注意引入的解析器对象和document都是dom4j包中的
//获取根元素
//根据根元素的标签名称,找到对应根元素的标签内容
//获取根元素下面的子元素;root.element("")需要是取单个子元素,然后elements是取相同名称的子元素
//根据子元素的标签名称得到标签内容
private static void xmlRead(String url) throws DocumentException {
// 创建解析器SAXReader对象
SAXReader reader=new SAXReader();
//获取document对象;使用解析器对象的read方法,read方法需要文件对象,需要什么类型就创建什么类型
//此时需要注意引入的解析器对象和document都是dom4j包中的
Document document =reader.read(new File(url));
//获取根元素
Element root=document.getRootElement();
//根据根元素的标签名称,找到对应标签内容
System.out.println(root.elementText("artifactId"));
//获取根元素下面的子元素;root.element("")需要是取子元素,然后elements是取多少元素
List<Element> elements=root.element("dependencies").elements("dependency");
System.out.println(elements.size());
for (Element element : elements) {
//根据子元素的标签名称得到标签内容
String groupId=element.elementText("groupId");
String artifactId=element.elementText("artifactId");
String version=element.elementText("version");
String scope=element.elementText("scope");
System.out.println("groupId="+groupId+";artifactId="+artifactId+";version="+version+";scope="+scope);
}
}
调用:我是直接读取maven的配置文件
public static void main(String[] args) {
String url="pom.xml";
try {
xmlRead(url);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
运行结果: