今天看了看怎么读取xml,发现用dom4j比较简单吧,然后写了个解析xml的小例子。
首先是 xml文件:xuxiao.xml
<?xml version="1.0" encoding="gb2312"?>
<students>
<student>
<name>徐潇</name>
<sex>男</sex>
</student>
<student>
<name>胡晓春</name>
<sex>男</sex>
</student>
<student>
<name>余少敏</name>
<sex>男</sex>
</student>
<student>
<name>胡志强</name>
<sex>女</sex>
</student>
</students>
然后是 一个工具类:XmlUtil.java
package com.xuxiao.util;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class XmlUtil {
public void readXml(String filePath){
Document doc =null;
SAXReader reader = new SAXReader(); //定义reader
try {
doc = reader.read(filePath); //根据路径进行读取xml内容到doc中
Element root = doc.getRootElement(); //得到根节点
for(Iterator i =root.elementIterator(); i.hasNext();){ //对xml进行遍历
Element el =(Element) i.next();
for(Iterator j =el.elementIterator();j.hasNext(); ){
Element el1 = (Element)j.next();
System.out.print(el.elementText(el1.getName())+"\t"); //打印节点内容
}
System.out.println();
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
测试类:ReadXml.java
package com.xuxiao.xml;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import com.xuxiao.util.XmlUtil;
public class ReadXml{
public static void main(String []args){
Document doc =null;
XmlUtil xmlUtil = new XmlUtil();
try {
xmlUtil.readXml("d:\\xuxiao.xml");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果: