XML解析

XML是什么

eXtendsible markup language 可扩展的标记语言

XML的用途

  1. 可以用来保存数据

  2. 可以用来做配置文件

  3. 数据传输载体

XML解析方式总概

Java中有Dom和Sax这两种标准解析方式。还有jdom、jaxp、dom4j等常用的第三方扩展解析方式。目前在实际开发中常用的是dom4j。下面我们已将以domj讲解XML的解析。

dom4j的基本用法

  1. 获得SAXReader对象reader

  2. 使用reader的read方法获得指定的xml文档对象document

  3. 由document获得文档根目录

  4. 由根节点元素获得子节点元素

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 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的时候,能够快速的定位到具体的某一个元素。

  1. 添加jar包依赖

    jaxen-1.1-beta-6.jar

  2. 在查找指定节点的时候,根据XPath语法规则来查找

  3. 后续的代码与以前的解析代码一样。

     //要想使用Xpath, 还得添加支持的jar 获取的是第一个 只返回一个。 
     Element nameElement = (Element) rootElement.selectSingleNode("//name");
     System.out.println(nameElement.getText());
     
     
     System.out.println("----------------");
     
     //获取文档里面的所有name元素 
     List list = rootElement.selectNodes("//name");
     for (Element element : list) {
     	System.out.println(element.getText());
     }
    

你可能感兴趣的:(java)