SAX解析方式小示例

<?xml version="1.0" encoding="utf-8"?>
<country name="中國">
 <province name="吉林省">
  <city>
   長春
        </city>
  <city>
   吉林
        </city>
  <city>
   四平
        </city>
  <city>
   松原
        </city>
  <city>
   通化
        </city>
 </province>
 <province name="山東省">
  <city>
   濟南
        </city>
  <city>
   青島
        </city>
  <city>
   威海
        </city>
  <city>
   煙臺
        </city>
 </province>
</country>

 

 

public Map getMes() throws DocumentException {
  HashMap<String, List> info = new HashMap<String, List>();
  SAXReader reader = new SAXReader();// 獲取解析對象
  Document document = reader.read("src/cn/it/db/province.xml");

  Element root = document.getRootElement();// 得到根節點
  List provinces = root.elements();// 得到字節點集合

  for (int i = 0; i < provinces.size(); i++) {
   List<String> cityVal = new ArrayList<String>();
   Element province = (Element) provinces.get(i);
   String provinceVal = province.attributeValue("name");// 獲取省名稱

   List cities = province.elements();
   for (int j = 0; j < cities.size(); j++) {
    Element city = (Element) cities.get(j);// 獲取城市節點
    cityVal.add(city.getTextTrim());
   }

   info.put(provinceVal, cityVal);
  }
  return info;
 }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章