android xml 解析

创建xml 文件

<root>
    <province name="安徽省">
        <city name="安庆市">
            <district name="枞阳县" zipcode="246000" />
            <district name="大观区" zipcode="246000" />
            <district name="怀宁县" zipcode="246000" />
            <district name="潜山县" zipcode="246000" />
            <district name="宿松县" zipcode="246000" />
            <district name="太湖县" zipcode="246000" />
            <district name="桐城市" zipcode="246000" />
            <district name="望江县" zipcode="246000" />
            <district name="宜秀区" zipcode="246000" />
            <district name="迎江区" zipcode="246000" />
            <district name="岳西县" zipcode="246000" />
            <district name="其他" zipcode="246000" />
        </city>
        <city name="蚌埠市">
            <district name="蚌山区" zipcode="233000" />
            <district name="固镇县" zipcode="233000" />
            <district name="怀远县" zipcode="233000" />
            <district name="淮上区" zipcode="233000" />
            <district name="龙子湖区" zipcode="233000" />
            <district name="五河县" zipcode="233000" />
            <district name="禹会区" zipcode="233000" />
            <district name="其他" zipcode="233000" />
        </city>
        <city name="亳州市">
            <district name="利辛县" zipcode="236000" />
            <district name="蒙城县" zipcode="236000" />
            <district name="谯城区" zipcode="236000" />
            <district name="涡阳县" zipcode="236000" />
            <district name="其他" zipcode="236000" />
        </city>
        <city name="巢湖市">
            <district name="含山县" zipcode="238000" />
            <district name="和县" zipcode="238000" />
            <district name="居巢区" zipcode="238000" />
            <district name="庐江县" zipcode="238000" />
            <district name="无为县" zipcode="238000" />
            <district name="其他" zipcode="238000" />
        </city>
        <city name="池州市">
            <district name="东至县" zipcode="247100" />
            <district name="贵池区" zipcode="247100" />
            <district name="青阳县" zipcode="247100" />
            <district name="石台县" zipcode="247100" />
            <district name="其他" zipcode="247100" />
        </city>
        <city name="滁州市">
            <district name="定远县" zipcode="239000" />
            <district name="凤阳县" zipcode="239000" />
            <district name="来安县" zipcode="239000" />
            <district name="琅琊区" zipcode="239000" />
            <district name="明光市" zipcode="239000" />
            <district name="南谯区" zipcode="239000" />
            <district name="全椒县" zipcode="239000" />
            <district name="天长市" zipcode="239000" />
            <district name="其他" zipcode="239000" />
        </city>
        <city name="阜阳市">
            <district name="阜南县" zipcode="236100" />
            <district name="界首市" zipcode="236100" />
            <district name="临泉县" zipcode="236100" />
            <district name="太和县" zipcode="236100" />
            <district name="颍东区" zipcode="236100" />
            <district name="颍泉区" zipcode="236100" />
            <district name="颍上县" zipcode="236100" />
            <district name="颍州区" zipcode="236100" />
            <district name="其他" zipcode="236100" />
        </city>
        <city name="合肥市">
            <district name="包河区" zipcode="230000" />
            <district name="长丰县" zipcode="230000" />
            <district name="肥东县" zipcode="230000" />
            <district name="肥西县" zipcode="230000" />
            <district name="庐阳区" zipcode="230000" />
            <district name="蜀山区" zipcode="230000" />
            <district name="瑶海区" zipcode="230000" />
            <district name="其他" zipcode="230000" />
        </city>
        <city name="淮北市">
            <district name="杜集区" zipcode="235000" />
            <district name="烈山区" zipcode="235000" />
            <district name="濉溪县" zipcode="235000" />
            <district name="相山区" zipcode="235000" />
            <district name="其他" zipcode="235000" />
        </city>
    

    </province>
</root>
xml 配置到 assetsxia

创建model 保持数据

public class ProvinceModel {
   private String name;
   private List<CityModel> cityList;
   
   public ProvinceModel() {
      super();
   }

   public ProvinceModel(String name, List<CityModel> cityList) {
      super();
      this.name = name;
      this.cityList = cityList;
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public List<CityModel> getCityList() {
      return cityList;
   }

   public void setCityList(List<CityModel> cityList) {
      this.cityList = cityList;
   }

   @Override
   public String toString() {
      return "ProvinceModel [name=" + name + ", cityList=" + cityList + "]";
   }
   
}
public class CityModel {
   private String name;
   private List<DistrictModel> districtList;
   
   public CityModel() {
      super();
   }

   public CityModel(String name, List<DistrictModel> districtList) {
      super();
      this.name = name;
      this.districtList = districtList;
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public List<DistrictModel> getDistrictList() {
      return districtList;
   }

   public void setDistrictList(List<DistrictModel> districtList) {
      this.districtList = districtList;
   }

   @Override
   public String toString() {
      return "CityModel [name=" + name + ", districtList=" + districtList
            + "]";
   }
   
}

public class DistrictModel {
   private String name;
   private String zipcode;
   
   public DistrictModel() {
      super();
   }

   public DistrictModel(String name, String zipcode) {
      super();
      this.name = name;
      this.zipcode = zipcode;
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public String getZipcode() {
      return zipcode;
   }

   public void setZipcode(String zipcode) {
      this.zipcode = zipcode;
   }

   @Override
   public String toString() {
      return "DistrictModel [name=" + name + ", zipcode=" + zipcode + "]";
   }

}

解析xml文件

//解析区域XMl文件
private void initProvinceDatas() {
    List<ProvinceModel> provinceList;
    AssetManager asset = context.getAssets();
    try {
        InputStream input = asset.open("area_data.xml");
        // 创建一个解析xml的工厂对象
        SAXParserFactory spf = SAXParserFactory.newInstance();
        // 解析xml
        SAXParser parser = spf.newSAXParser();
        XmlParserHandler handler = new XmlParserHandler();
        parser.parse(input, handler);
        input.close();
        // 获取解析出来的数据
        provinceList = handler.getDataList();
} catch (Throwable e) {
    e.printStackTrace();
}

}


demo 下载地址  http://pan.baidu.com/s/1gf9psRL

eclipse 下载地址 http://pan.baidu.com/s/1clJePK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值