XML是什么
eXtendsible markup language 可扩展的标记语言
XML的用途
-
可以用来保存数据
-
可以用来做配置文件
-
数据传输载体
XML解析方式总概
Java中有Dom和Sax这两种标准解析方式。还有jdom、jaxp、dom4j等常用的第三方扩展解析方式。目前在实际开发中常用的是dom4j。下面我们已将以domj讲解XML的解析。
dom4j的基本用法
-
获得SAXReader对象reader
-
使用reader的read方法获得指定的xml文档对象document
-
由document获得文档根目录
-
由根节点元素获得子节点元素
dom4j实例使用
try {
//1. 创建sax读取对象
SAXReader reader = new SAXReader(); //jdbc -- classloader
//2. 指定解析的xml源
Document document = reader.read(new File("src/xml/stus.xml"));
//3. 得到元素、
//得到根元素
Element rootElement= document.getRootElement();
//获取根元素下面的子元素 age
//String text =rootElement.element("stu").element("age").getText()
//System.out.println(text );
//获取根元素下面的所有子元素 。 stu元素
List<Element> elements = rootElement.elements();
//遍历所有的stu元素
for (Element element : elements) {
//获取stu元素下面的name元素
String name = element.element("name").getText();
String age = element.element("age").getText();
String address = element.element("address").getText();
System.out.println("name="+name+"==age+"+age+"==address="+address);
}
} catch (Exception e) {
e.printStackTrace();
}
Dom4j 的 Xpath使用
dom4j里面支持Xpath的写法。 xpath其实是xml的路径语言,支持我们在解析xml的时候,能够快速的定位到具体的某一个元素。
-
添加jar包依赖
jaxen-1.1-beta-6.jar
-
在查找指定节点的时候,根据XPath语法规则来查找
-
后续的代码与以前的解析代码一样。
//要想使用Xpath, 还得添加支持的jar 获取的是第一个 只返回一个。 Element nameElement = (Element) rootElement.selectSingleNode("//name"); System.out.println(nameElement.getText()); System.out.println("----------------"); //获取文档里面的所有name元素 List<Element> list = rootElement.selectNodes("//name"); for (Element element : list) { System.out.println(element.getText()); }