Dom4j处理XML
今天自己学习了Dom4j,做了个简单的例子,不多说直接代码!
?
import java.io.File;import java.util.Iterator;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class Dom4jTest {@SuppressWarnings("unchecked")public static void main(String[] args) throws Exception {//流方式读取Xml文件SAXReader sr = new SAXReader();//将读的文件定义为一个Document对象Document doc = sr.read(new File("src/data.xml"));//获得该Document对象的根元素Element rootelement = doc.getRootElement();//遍历该元素下的所有子元素for (Iterator<Element> i = rootelement.elementIterator(); i.hasNext();) {Element e = i.next();//后台打印子元素的名字和包含的数据System.out.println(e.getName() + ":"+ e.getData().toString().trim());//遍历该子元素的所有子元素for (Iterator<Element> i1 = e.elementIterator(); i1.hasNext();) {Element e1 = i1.next();//遍历该子元素的所有属性for (Iterator<Attribute> i2 = e1.attributeIterator(); i2.hasNext();) {Attribute a = i2.next();//打印属性的名字和值System.out.println(a.getName() + ":" + a.getValue());}}}}}
?
<school><class>班级1<student name="zhangsan" age="13"></student><student name="lisi" age="14"></student><student name="wangwu" age="15"></student></class><class>班级2</class><class>班级3</class></school>?
class:班级1name:zhangsanage:13name:lisiage:14name:wangwuage:15class:班级2class:班级3?
现在XML解析的方式主要是DOM和SAX,区别大家可以自己去谷老师一下,本例是用SAX的方式读取xml文件,希望可以对刚学习的同学有些帮助。