DOM4J解析XML
package com.tsinghua;
import java.io.FileInputStream;
import java.net.URL;
import java.util.Iterator;
import java.util.List;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
public class TestDom4jMjy {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
//1. 創建一個SAXReader
SAXReader reader = new SAXReader();
//2. 指定去解析哪個文件
Document document = reader.read(new FileInputStream("./mjy.xml"));
Element root = document.getRootElement();
//start 循環處理屬性值 ,通用。不用管屬性名稱是什麼
//迭代根元素下面的所有子元素
for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
//處理代碼
// 迭代根元素的屬性attributes)元素
for ( Iterator j = element.attributeIterator(); j.hasNext(); ) {
Attribute attribute = (Attribute) j.next();
// do something
System.out.println(attribute.getName()+" 的屬性值爲: "+attribute.getValue());
}
}
//end
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
XML:
<?xml version="1.0" encoding="gb2312"?>
<states>
<state name='mjy1' value='mjy2'/>
</states>