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