您的位置:首页 > 其它

dom4j解析xml

2013-06-23 12:40 106 查看
demo结构图



 

student.xml

<?xml version="1.0" encoding="UTF-8"?>

<school>

 <class id="T62">

  <student id="01">

   <name>张三</name>

   <age>21</age>

  </student>

  <student id="02">

   <name>王二</name>

   <age>22</age>

  </student>

 </class>

 <class id="T56">

  <student id="01">

   <name>李四</name>

   <age>23</age>

  </student>

  <student id="02">

   <name>王五</name>

   <age>26</age>

  </student>

 </class>

</school>


Dom4jDemo.java

package 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 Dom4jDemo {

 public static void main(String[] args) throws Exception {

  System.out.println("--------开始解析-----------");

  Dom4jDemo.iterateWholeXML();

 }

 public static void iterateWholeXML() {

  SAXReader saxReader = new SAXReader();

  try {

   Document doc = saxReader.read(new File("src/dom4j/student.xml"));

   Element root = doc.getRootElement();

   // 获取school根节点的所有class节点

   for (Iterator classIt = root.elementIterator(); classIt.hasNext();) {

    Element element = (Element) classIt.next();

    // 获取班级编号

    Attribute classAttr = element.attribute("id");

    if (classAttr != null) {

     String classNum = classAttr.getValue();

     System.out.println("班级编号:" + classNum);

     // 获取class下面的student

     for (Iterator studentIt = element.elementIterator(); studentIt

       .hasNext();) {

      Element stuElement = (Element) studentIt.next();

      Attribute stuAttr = stuElement.attribute("id");

      System.out.println("学生id" + stuAttr.getValue());

      for (Iterator attrIt = stuElement.elementIterator(); attrIt

        .hasNext();) {

       Element attrElement = (Element) attrIt.next();

       if (attrElement.getName().equals("name")) {

        System.out.println("姓名:"

          + attrElement.getText());

       }

       if (attrElement.getName().equals("age")) {

        System.out.println("年龄:"

          + attrElement.getText());

       }

      }

     }

    }

   }

  } catch (Exception e) {

   // TODO: handle exception

   System.out.println(e.getMessage());

  }

 }

}

运行结果

 



 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dom4j XML DOM