Dom4j解析XML文件

import java.io.File;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;


public class Dom4JResolveXML {

  public static void readStringXml(File filename) {
    SAXReader saxReader = new SAXReader();
    Document doc = null;
    try {
      doc = saxReader.read(filename);

      Element rootElt = doc.getRootElement(); 
      System.out.println("根节点:" + rootElt.getName()); 

      Iterator iter = rootElt.elementIterator("CountryRegion");

      while (iter.hasNext()) {
        Element recordEle = (Element) iter.next();

        String name = recordEle.attributeValue("Name"); 
        String code = recordEle.attributeValue("Code");
        System.out.println("Name:" + name);
        System.out.println("Code:" + code);

        Iterator iters = recordEle.elementIterator("State");

        while (iters.hasNext()) {

          Element itemEle = (Element) iters.next();

          String stateName = itemEle.attributeValue("Name"); // 拿到head下的子节点script下的字节点username的值
          String stateCode = itemEle.attributeValue("Code");
          System.out.println("Name:" + stateName);
          System.out.println("Code:" + stateCode);

          Iterator iterator = itemEle.elementIterator("City");

          while (iterator.hasNext()){
            Element iteratorEle = (Element) iterator.next();

            String cityName = iteratorEle.attributeValue("Name");
            String cityCode = iteratorEle.attributeValue("Code");
            System.out.println("Name:" + cityName);
            System.out.println("Code:" + cityCode);
          }
        }
      }
    } catch (Exception e) {
      e.printStackTrace();

    }
  }

  public static void main(String args[]){
    Dom4JResolveXML dom4jResolveXML = new Dom4JResolveXML();
    dom4jResolveXML.readStringXml(new File("D:\\test\\LocList.xml"));
  }

}

PS:xml文件内容为:

<?xml version="1.0" encoding="utf-8"?>
<Location>
  <CountryRegion Name="中国" Code="1">
    <State Name="北京" Code="11">
      <City Name="东城" Code="1"/>
      <City Name="房山" Code="11"/>
    </State>

    <State Name="上海" Code="12">
      <City Name="徐汇" Code="10"/>
      <City Name="浦东" Code="15"/>
    </State>

  </CountryRegion>

</Location>

posted on 2013-10-29 23:51  Vikeylee  阅读(170)  评论(0)    收藏  举报

导航