解析的内容是事先给好的
citydict.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>A</key>
<array>
<string>阿坝</string>
<string>阿克苏</string>
<string>阿拉善</string>
<string>阿勒泰</string>
<string>阿里</string>
<string>安康</string>
<string>安庆</string>
<string>鞍山</string>
<string>安顺</string>
<string>安阳</string>
<string>澳门</string>
</array>
<key>B</key>
<array>
<string>白城</string>
<string>百色</string>
<string>白山</string>
<string>白银</string>
<string>保定</string>
<string>宝鸡</string>
<string>保山</string>
<string>包头</string>
<string>巴彦淖尔</string>
<string>巴中</string>
<string>巴州</string>
<string>北海</string>
<string>北京</string>
<string>蚌埠</string>
<string>本溪</string>
<string>毕节</string>
<string>滨州</string>
<string>博尔塔拉</string>
<string>亳州</string>
</array>
<key>C</key>
<array>
<string>沧州</string>
<string>长春</string>
<string>常德</string>
<string>昌都</string>
<string>昌吉</string>
<string>长乐</string>
<string>长沙</string>
<string>常熟</string>
<string>长兴</string>
<string>长治</string>
<string>常州</string>
<string>巢湖</string>
<string>朝阳</string>
<string>潮州</string>
<string>承德</string>
<string>成都</string>
<string>郴州</string>
<string>赤峰</string>
<string>池州</string>
<string>重庆</string>
<string>崇左</string>
<string>楚雄</string>
<string>滁州</string>
<string>慈溪</string>
<string>从化</string>
</array>
<key>D</key>
<array>
<string>大理</string>
<string>大连</string>
<string>丹东</string>
<string>丹阳</string>
<string>大庆</string>
<string>大同</string>
<string>大兴安岭</string>
<string>达州</string>
<string>德宏</string>
<string>德清</string>
<string>德阳</string>
<string>德州</string>
<string>定西</string>
<string>迪庆</string>
<string>东莞</string>
<string>东阳</string>
<string>东营</string>
<string>敦煌</string>
</array>
<key>E</key>
<array>
<string>鄂尔多斯</string>
<string>峨眉山</string>
<string>恩施</string>
<string>鄂州</string>
</array>
<key>F</key>
<array>
<string>防城港</string>
<string>佛山</string>
<string>涪陵</string>
<string>福清</string>
<string>抚顺</string>
<string>阜新</string>
<string>阜阳</string>
<string>富阳</string>
<string>福州</string>
<string>抚州</string>
</array>
<key>G</key>
<array>
<string>甘南</string>
<string>赣州</string>
<string>甘孜</string>
<string>广安</string>
<string>广元</string>
<string>广州</string>
<string>贵港</string>
<string>桂林</string>
<string>贵阳</string>
<string>果洛</string>
<string>固原</string>
</array>
<key>H</key>
<array>
<string>哈尔滨市</string>
<string>海北</string>
<string>海东</string>
<string>海口</string>
<string>海南</string>
<string>海宁</string>
<string>海西</string>
<string>哈密</string>
<string>邯郸</string>
<string>杭州</string>
<string>汉中</string>
<string>鹤壁</string>
<string>河池</string>
<string>合肥</string>
<string>鹤岗</string>
<string>黑河</string>
<string>衡水</string>
<string>衡阳</string>
<string>和田</string>
<string>河源</string>
<string>菏泽</string>
<string>贺州</string>
<string>红河</string>
<string>花都</string>
<string>淮安</string>
<string>淮北</string>
<string>怀化</string>
<string>淮南</string>
<string>黄岛</string>
<string>黄冈</string>
<string>黄南</string>
<string>黄山</string>
<string>黄石</string>
<string>呼和浩特</string>
<string>惠东</string>
<string>惠阳</string>
<string>惠州</string>
<string>葫芦岛</string>
<string>呼伦贝尔</string>
<string>湖州</string>
</array>
<key>J</key>
<array>
<string>佳木斯</string>
<string>吉安</string>
<string>江门</string>
<string>江宁</string>
<string>江阴</string>
<string>焦作</string>
<string>嘉兴</string>
<string>嘉峪关</string>
<string>揭阳</string>
<string>吉林</string>
<string>济南</string>
<string>金昌</string>
<string>晋城</string>
<string>景德镇</string>
<string>荆门</string>
<string>荆州</string>
<string>金华</string>
<string>济宁</string>
<string>晋江</string>
<string>金坛</string>
<string>晋中</string>
<string>锦州</string>
<string>九江</string>
<string>酒泉</string>
<string>鸡西</string>
<string>济源</string>
</array>
<key>K</key>
<array>
<string>开封</string>
<string>喀什</string>
<string>克拉玛依</string>
<string>克州</string>
<string>昆明</string>
<string>昆山</string>
</array>
<key>L</key>
<array>
<string>来宾</string>
<string>莱芜</string>
<string>廊坊</string>
<string>兰州</string>
<string>拉萨</string>
<string>乐清</string>
<string>乐山</string>
<string>凉山</string>
<string>连云港</string>
<string>聊城</string>
<string>辽阳</string>
<string>辽源</string>
<string>丽江</string>
<string>临沧</string>
<string>临汾</string>
<string>临海</string>
<string>临夏</string>
<string>临沂</string>
<string>林芝</string>
<string>丽水</string>
<string>六安</string>
<string>六盘水</string>
<string>柳州</string>
<string>溧阳</string>
<string>陇南</string>
<string>龙岩</string>
<string>娄底</string>
<string>漯河</string>
<string>洛阳</string>
<string>泸州</string>
<string>吕梁</string>
</array>
<key>M</key>
<array>
<string>马鞍山</string>
<string>茂名</string>
<string>眉山</string>
<string>梅州</string>
<string>绵阳</string>
<string>牡丹江</string>
</array>
<key>N</key>
<array>
<string>南昌</string>
<string>南充</string>
<string>南京</string>
<string>南宁</string>
<string>南平</string>
<string>南通</string>
<string>南阳</string>
<string>那曲</string>
<string>内江</string>
<string>宁波</string>
<string>宁德</string>
<string>怒江</string>
</array>
<key>P</key>
<array>
<string>盘锦</string>
<string>番禺</string>
<string>攀枝花</string>
<string>平顶山</string>
<string>平凉</string>
<string>萍乡</string>
<string>普洱</string>
<string>莆田</string>
<string>濮阳</string>
</array>
<key>Q</key>
<array>
<string>迁安</string>
<string>黔东南</string>
<string>黔南</string>
<string>黔西南</string>
<string>青岛</string>
<string>庆阳</string>
<string>清远</string>
<string>秦皇岛</string>
<string>钦州</string>
<string>琼海</string>
<string>齐齐哈尔</string>
<string>七台河</string>
<string>泉州</string>
<string>曲靖</string>
<string>衢州</string>
</array>
<key>R</key>
<array>
<string>日喀则</string>
<string>日照</string>
<string>瑞安</string>
</array>
<key>S</key>
<array>
<string>三门峡</string>
<string>三明</string>
<string>三峡</string>
<string>三亚</string>
<string>上海</string>
<string>商洛</string>
<string>商丘</string>
<string>上饶</string>
<string>上虞</string>
<string>山南</string>
<string>汕头</string>
<string>汕尾</string>
<string>韶关</string>
<string>绍兴</string>
<string>邵阳</string>
<string>沈阳</string>
<string>深圳</string>
<string>石河子</string>
<string>石家庄</string>
<string>石狮</string>
<string>十堰</string>
<string>石嘴山</string>
<string>双鸭山</string>
<string>顺德</string>
<string>朔州</string>
<string>四平</string>
<string>松原</string>
<string>绥化</string>
<string>遂宁</string>
<string>随州</string>
<string>宿迁</string>
<string>苏州</string>
<string>宿州</string>
</array>
<key>T</key>
<array>
<string>塔城</string>
<string>泰安</string>
<string>台北</string>
<string>太仓</string>
<string>太原</string>
<string>泰州</string>
<string>台州</string>
<string>塘沽</string>
<string>唐山</string>
<string>天津</string>
<string>天水</string>
<string>铁岭</string>
<string>铜川</string>
<string>通化</string>
<string>通辽</string>
<string>铜陵</string>
<string>铜仁</string>
<string>桐乡</string>
<string>吐鲁番</string>
</array>
<key>W</key>
<array>
<string>万州</string>
<string>潍坊</string>
<string>威海</string>
<string>渭南</string>
<string>温岭</string>
<string>文山</string>
<string>温州</string>
<string>武安</string>
<string>乌海</string>
<string>武汉</string>
<string>芜湖</string>
<string>乌兰察布</string>
<string>乌鲁木齐</string>
<string>武威</string>
<string>无锡</string>
<string>武夷</string>
<string>吴忠</string>
<string>梧州</string>
</array>
<key>X</key>
<array>
<string>厦门</string>
<string>西安</string>
<string>香港</string>
<string>湘潭</string>
<string>湘西</string>
<string>襄阳</string>
<string>咸宁</string>
<string>仙桃</string>
<string>咸阳</string>
<string>孝感</string>
<string>萧山</string>
<string>锡林郭勒</string>
<string>兴安</string>
<string>邢台</string>
<string>西宁</string>
<string>新乡</string>
<string>信阳</string>
<string>新余</string>
<string>忻州</string>
<string>西双版纳</string>
<string>宣城</string>
<string>许昌</string>
<string>徐州</string>
</array>
<key>Y</key>
<array>
<string>雅安</string>
<string>延安</string>
<string>延边</string>
<string>盐城</string>
<string>阳江</string>
<string>阳泉</string>
<string>阳朔</string>
<string>扬州</string>
<string>延吉</string>
<string>烟台</string>
<string>兖州</string>
<string>宜宾</string>
<string>宜昌</string>
<string>宜春</string>
<string>伊春</string>
<string>伊犁</string>
<string>银川</string>
<string>营口</string>
<string>鹰潭</string>
<string>义乌</string>
<string>宜兴</string>
<string>益阳</string>
<string>永康</string>
<string>永州</string>
<string>岳阳</string>
<string>玉林</string>
<string>榆林</string>
<string>玉树</string>
<string>玉溪</string>
<string>余姚</string>
</array>
<key>Z</key>
<array>
<string>枣庄</string>
<string>张家港</string>
<string>张家界</string>
<string>张家口</string>
<string>章丘</string>
<string>张掖</string>
<string>漳州</string>
<string>湛江</string>
<string>肇庆</string>
<string>昭通</string>
<string>郑州</string>
<string>镇江</string>
<string>中山</string>
<string>中卫</string>
<string>周口</string>
<string>舟山</string>
<string>珠海</string>
<string>诸暨</string>
<string>驻马店</string>
<string>涿州</string>
<string>株洲</string>
<string>淄博</string>
<string>自贡</string>
<string>资阳</string>
<string>遵义</string>
</array>
</dict>
</plist>
将文件放在了assets文件夹,到时可以直接加载资源文件夹中citydict.plist文件。
try{
InputStream is = getResources().getAssets().open(Name);
int len = is.available();
byte buffer[] = new byte[len];
is.read(buffer);
xml = new String(buffer,"utf-8");
is.close();
}
catch (Exception e){
e.printStackTrace();
}
这样将文件中的数据读入了字符串
再对其进行pull解析,
private void parseXMLWithPull(String xmlData){
try{
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser xmlPullParser = factory.newPullParser();
xmlPullParser.setInput(new StringReader(xmlData));
int eventType = xmlPullParser.getEventType();
ArrayList<String> address = new ArrayList<>();
// String string[] = new String[50];
String key = "";
int cout = 0;
while(eventType!= XmlPullParser.END_DOCUMENT){
String nodeName = xmlPullParser.getName();
switch(eventType){
case XmlPullParser.START_TAG:
if("string".equals(nodeName)){
// string[cout++] = xmlPullParser.nextText();
address.add(xmlPullParser.nextText());
cout++;
// Log.d("string"+cout,string);
}else if("key".equals(nodeName)){
key = xmlPullParser.nextText();
// Log.d("key",key);
}
break;
case XmlPullParser.END_TAG:
if("array".equals(nodeName)){
//Log.d("ssss",nodeName);
Log.d("key",key);
/* for(int i=0;i<cout;i++){
Log.d("string",string[i]);
}*/
for(int i=0;i<cout;i++){
Log.d("string",address.get(i));
}
address = new ArrayList<>();
cout = 0;
}
break;
default:
break;
}
eventType = xmlPullParser.next();
}
}catch(Exception e){
e.printStackTrace();
}
}
将解析出的内容都放进了list中,这就可以进行布局文件的调整了