<?xml version="1.0" encoding="UTF-8" ?>
<!--
文档声明必须在第一行第一列
-->
<!--
注意事项:
1,必须要有一个根标签
标签命名规范
1,不能使用空格,冒号
2,命名区分大小写
-->
<Person>
<student id="a1">
<name>张三</name>
<age>14</age>
<sex>男</sex>
</student>
<student id="a2">
<name>李四</name>
<age>18</age>
<sex>女</sex>
</student>
<student id="a3">
<name>王五</name>
<age>21</age>
<sex>男</sex>
</student>
<![CDATA[
1111111111
]]>
</Person>
package com.zhang.xmlTest;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.List;
public class Test {
/**
*
*/
public static void main(String[] args) throws DocumentException {
//创建解析器对象
SAXReader saxReader = new SAXReader();
//通过解析器读取xml文件,获取document对象
Document document = saxReader.read("xml\\person.xml");
//获得根元素
Element rootElement = document.getRootElement();
//获取根元素下面的所有子元素
List<Element> elements = rootElement.elements();
for (Element element : elements) {
//获取当前元素下的属性值
String id = element.attributeValue("id");
System.out.println(id);
//获取所有子元素
List<Element> elements1 = element.elements();
for (Element element1 : elements1) {
//获取标签名
String name = element1.getName();
System.out.println(name);
//获取文本值
String text = element1.getText();
System.out.println(text);
}
}
//根据子元素名获取子元素对象
Element student = rootElement.element("student");
System.out.println(student.attributeValue("id"));
//根据子元素对象获取指定文本值
System.out.println(student.elementText("name"));
}
}
?
|