XML简介
- XML(extensible markup language):可扩展标记语言
- XML的作用:以一个统一的格式,组织有关系的数据,为不同的平台下的应用程序服务。
- XML用来传输和存储数据,HTML用来显示数据
- XML没有预定义标签,均为自定义标签。
XML的用途
- 配置文件
javaweb中的web.xml - 数据交换格式
Ajax
webService - 数据存储
保存关系型数据
XML解析
- XML通过解析器读取XML文档,解释语法,并将文档转化成对象
dom4j
- dom4j是一个开源XML解析包
- 使用dom4j需要导入dom4j相应的jar包:dom4j-1.6.1.jar
dom4j解析的关键步骤
//创建解析器
SAXReader reader = new SAXReader();
//将解析器解析成Document对象
Document document = reader.read("students.xml");
//通过Document对象获取根元素
Element rootElement = document.getRootElement();
//通过根元素,获取所有的子元素
List<Element> elements = rootElement.elements();
Xpath查询
public class XpathDemo {
//为什么要使用Xpath
//因为如果XML里面的数据很多,那么如果要获取里面的某一条数据,
// 不使用Xpath的话,要在for循环里面遍历很久才能找到对应的数据
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document read = reader.read("students.xml");
//调用selectSingleNode Element是Node的子类
Element element = (Element)read.selectSingleNode("/students/student[@id='3']");
String id = element.attributeValue("id");
String name = element.elementText("name");
String age = element.elementText("age");
Student student = new Student(id, name, age);
System.out.println(student);
}
}