创建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