package com.lujier.ReadXml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* TODO
* @File: ReadXml.java
* @Author: Lujier @SINCE: 2020年8月12日 下午11:57:40
* */
public class ReadXml {
public static void main(String[] args) {
/**
dom4j解析技术:
1. 添加依赖: dom4j
2. 创建解析器SaxReader对象
3. 获取documents对象
4. 获取根元素
5. 获取根元素下的子元素
*/
String file_path = "src/test/resources/students.xml";
// 1. 创建解析器SAXReader对象
SAXReader reader = new SAXReader();
try {
// 2. 创建并获取一个document对象
FileInputStream inputs = new FileInputStream(file_path);
Document doc = reader.read(inputs);
// 3. 获取根元素
Element root_ele = doc.getRootElement();
// 4. 获取子元素
List<Element> eles = root_ele.elements();
// 4.1 遍历一级子元素
for(Element ele :eles) {
// getName是标签名,attributeValue()获取指定元素的属性值
// System.out.printf(ele.getName()+"="+ele.attributeValue("name")+"\n");
List<Element> son_eles = ele.elements();
if(son_eles != null) {
for(Element ele2 :son_eles) {
System.out.printf(ele2.getName()+"="+ele2.attributeValue("id")+"\n");
}
}
}
inputs.close();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
1.13 Java之XML解析
最新推荐文章于 2024-07-01 02:25:02 发布