使用dom4j解析XML文件

dom4j是一个简单、灵活的开源库,具有性能优异、功能强大、使用简单的特点。使用dom4j需要下载jar文件。

解析XML文件步骤:

(1)创建SAXReader对象,用于读取XML文件。

(2)读取XML文件,获得Document对象。

(3)获取根元素。

(4)根据根元素,使用迭代器,迭代根元素下面的子元素。

package zhao.text;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.Iterator;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * 使用dom4j解析XML文件
 * 
 * @author zhaoy
 *
 */
public class test01 {
	public static void main(String[] args) throws Exception {
		test01 test = new test01();
		test.useSAX();
	}

	public void useSAX() throws Exception {
		// 1:创建SAXReader对象,用于读取XML文件
		SAXReader reader = new SAXReader();
		// 2:读取XML文件,获得Document对象
		// Document document = reader.read(new File("src/zhao/text/person.xml"));
		// 2:读取XML文件,获得Document对象(当路径带有中文时)
		InputStreamReader isr = new InputStreamReader(new FileInputStream("src/zhao/text/person.xml"), "UTF-8");
		Document document = reader.read(isr);
		// 3:获取根元素
		Element root = document.getRootElement();
		// 4:使用迭代器获取根下面所有子元素
		Iterator it = root.elementIterator();
		while (it.hasNext()) {
			// 取出根元素下面的子元素
			Element e = it.next();
			System.out.println(e.getName());
			// 取出根元素的属性
			Attribute id = e.attribute("id");
			System.out.println("id=" + id.getValue());
			// 获取元素e的子元素
			Element name = e.element("name");
			Element age = e.element("age");
			Element sex = e.element("sex");
			System.out.println(name.getName() + "=" + name.getText());
			System.out.println(age.getName() + "=" + age.getText());
			System.out.println(sex.getName() + "=" + sex.getText());
		}
	}
}

 

你可能感兴趣的:(随记)