首先加载Maven依赖
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.0</version>
</dependency>
将XML文件放入项目中
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student1 id="001">
<微信公众号>@幽月狼疮</微信公众号>
<学号>20140101</学号>
<地址>北京海淀区</地址>
<座右铭>要么强大,要么听话</座右铭>
</student1>
<student2 id="002">
<新浪微博>@幽月狼疮</新浪微博>
<学号>20140102</学号>
<地址>北京朝阳区</地址>
<座右铭>在哭泣中学会坚强</座右铭>
</student2>
</students>
编写Java实现类
public class Dom4jTest {
private static String filepath="F:\\workspace\\src\\main\\resources\\test.xml";
public static void main(String[] args) {
// 创建SAXReader对象
SAXReader reader = new SAXReader();
try {
// 读取文件 转换成Document
Document document = reader.read(new File(filepath));
// 获取根节点
Element rootElement = document.getRootElement();
getNodes(rootElement);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/***
* 获取根节点属性
* @param rootElement
*/
public static void getNodes(Element rootElement){
System.out.println("当前根节点的名字"+rootElement.getName());
List<Attribute> attributes = rootElement.attributes();
for(Attribute attr:attributes){
System.out.println("节点属性"+attr.getName()+":"+attr.getText());
}
if(!rootElement.getTextTrim().equals("")){
System.out.println(rootElement.getName()+":"+rootElement.getText());
}
// 使用迭代器遍历,遍历所有的子节点
Iterator<Element> iterator = rootElement.elementIterator();
while(iterator.hasNext()){
Element next = iterator.next();
getNodes(next);
}
}
}