Dom4j处置XML
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:班级1 name:zhangsan age:13 name:lisi age:14 name:wangwu age:15 class:班级2 class:班级3
现在XML解析的方式主要是DOM和SAX,区别大家可以自己去谷老师一下,本例是用SAX的方式读取xml文件,希望可以对刚学习的同学有些帮助。