测试类
package com.autumn.test;
import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class MainTest {
/**
* 测试xml的两种解析方式
* @param args
*/
public static void main(String[] args) {
try {
//1.创建SAX读取对象
SAXReader saxReader = new SAXReader();
//2.指定解析的xml
Document document = saxReader.read(new File("src/xml/stus.xml"));
//3.得到元素
//得到根元素 stus
Element rootElement = document.getRootElement();
System.out.println(rootElement.getName());
System.out.println("-----获取根元素下面的子元素 stu------");
//获取根元素下面的子元素 stu
System.out.println(rootElement.element("stu").getName());
System.out.println("-----获取根元素下面的孙元素 name/age/address------");
//获取根元素下面的孙元素 name/age/address
System.out.println(rootElement.element("stu").element("name").getName());
System.out.println("-----获取根元素下面的孙元素 name/age/address的值------");
//获取根元素下面的孙元素 name/age/address的值
System.out.println(rootElement.element("stu").element("name").getText());
System.out.println("-----获取根元素下面的所有子元素------");
//获取根元素下面的所有子元素
List<Element> elements = rootElement.elements();
//便利所有的stu元素
for (Element element : elements) {
System.out.println(element.getName());
//获取stu元素下面的name age address元素
String name = element.element("name").getText();
String age = element.element("age").getText();
String address = element.element("address").getText();
System.out.println(name+age+address);
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<stus>
<stu>
<name>张三</name>
<age>18</age>
<address>上海</address>
</stu>
<stu>
<name>李四</name>
<age>20</age>
<address>洛阳</address>
</stu>
</stus>