dom4j框架下载链接https://dom4j.github.io/
idea里创建一个文件
创建好了以后把(dom4j-2.1.4.jar)导入到(lib)文件夹里去
把(dom4j-2.1.4.jar)融合到项目
package Dom4jTest;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.List;
public class Dom4test {
//目标:掌握使用dom4j框架解析XML文件
public static void main(String[] args) throws Exception{
//1:创建dom4j框架提供的解析器对象
SAXReader saxReader=new SAXReader();
//2:使用saxReader对象ba
Document document = saxReader.read("src/Hello_Test2.xml");
//3:从文档对象中解析XML文件的全部数据了
Element root= document.getRootElement();
System.out.println(root.getName());
//4:获取根元素下的全部一级子元素
//集合接收
//List<Element> elements = root.elements();
List<Element> elements = root.elements("user");
//增强for循环遍历
for (Element element : elements) {
System.out.println(element.getName());
}
//5:获取当前元素下的摸个元素
Element people = root.element("people");
System.out.println(people.getData());
//如果下面很多user默认获取第一个user
Element user = root.element("user");
System.out.println(user.elementText("name"));
//6:获取元素的属性信息
System.out.println(user.attributeValue("id"));
Attribute id= user.attribute("id");
System.out.println(id.getName());
System.out.println(id.getValue());
List<Attribute> attributes=user.attributes();
for (Attribute attribute : attributes) {
// 属性名 属性价值 (attribute.getName() + "=" + attribute.getValue)
System.out.println(attribute.getName() + "=" + attribute.getValue());
}
//7:如何获取全部文本内容
System.out.println("===============");
System.out.println(user.elementText("name"));
System.out.println(user.elementText("id"));
System.out.println(user.elementText("name"));
System.out.println(user.elementText("sex"));
System.out.println(user.elementText("password"));
System.out.println(user.elementText("data"));
System.out.println(user.elementText("data1"));
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!--注释以上抬头声明必须放第一行,必须有-->
<!--跟标签只能有一个-->
<users>
<user id="1 " desc="用户一">
<id>1</id>
<name>张无忌</name>
<sex>男</sex>
<password>12345678</password>
<data>数据</data>
<data>3 < 2 && 5>4 </data>
<data1><![CDATA[ 3>2 && 5<45]]></data1>
</user>
<people>人</people>
<user id="2 ">
<name>敏敏</name>
<sex>女</sex>
<password>12345678</password>
<data>数据</data>
</user>
</users>