pull解析一些特殊类型的XML文件
来源:互联网 发布:excel软件百度云 编辑:程序博客网 时间:2024/06/15 21:31
先来看看要解析的XML
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="beijing_array"> <item>北京</item> </string-array> <string-array name="tianjin_array"> <item>天津</item> </string-array> <string-array name="shanghai_array"> <item>上海</item> </string-array> <string-array name="chongqing_array"> <item>重庆</item> </string-array> <string-array name="xianggang_array"> <item>香港</item> </string-array> <string-array name="aomen_array"> <item>澳门</item> </string-array> <string-array name="liaoning_array"> <item>沈阳</item> <item>大连</item> <item>鞍山</item> <item>抚顺</item> <item>本溪</item> <item>丹东</item> <item>锦州</item> <item>营口</item> <item>阜新</item> <item>辽阳</item> <item>铁岭</item> <item>朝阳</item> <item>盘锦</item> <item>葫芦岛</item> </string-array> <string-array name="heilongjiang_array"> <item>哈尔滨</item> <item>齐齐哈尔</item> <item>鸡西</item> <item>鹤岗</item> <item>双鸭山</item> <item>大庆</item> <item>伊春</item> <item>佳木斯</item> <item>牡丹江</item> <item>七台河</item> <item>黑河</item> </string-array> <string-array name="jilin_array"> <item>长春</item> <item>吉林</item> <item>四平</item> <item>辽源</item> <item>通化</item> <item>白山</item> <item>松原</item> <item>白城</item> <item>延吉</item> </string-array> <string-array name="neimenggu_array"> <item>呼和浩特</item> <item>包头</item> <item>乌海</item> <item>赤峰</item> <item>通辽</item> <item>鄂尔多斯</item> <item>呼伦贝尔</item> <item>巴彦淖尔</item> <item>乌兰察布</item> <item>乌兰浩特</item> <item>二连浩特</item> </string-array> <string-array name="xinjiang_array"> <item>乌鲁木齐</item> <item>克拉玛依</item> <item>吐鲁番</item> <item>昌吉</item> <item>博乐</item> <item>库尔勒</item> <item>阿克苏</item> <item>阿图什</item> <item>喀什</item> <item>和田</item> <item>伊宁</item> <item>塔城</item> <item>阿勒泰</item> </string-array> <string-array name="qinghai_array"> <item>西宁</item> </string-array> <string-array name="xizang_array"> <item>拉萨</item> </string-array> <string-array name="gansu_array"> <item>兰州</item> <item>嘉峪关</item> <item>金昌</item> <item>白银</item> <item>天水</item> <item>武威</item> <item>张掖</item> <item>平凉</item> <item>酒泉</item> <item>庆阳</item> <item>定西</item> <item>陇南</item> <item>临夏</item> <item>合作</item> </string-array> <string-array name="ningxia_array"> <item>银川</item> <item>石嘴山</item> <item>吴忠</item> <item>固原</item> <item>中卫</item> </string-array> <string-array name="shan3xi_array"> <item>西安</item> <item>铜川</item> <item>宝鸡</item> <item>咸阳</item> <item>渭南</item> <item>延安</item> <item>汉中</item> <item>榆林</item> <item>安康</item> <item>商洛</item> </string-array> <string-array name="shan1xi_array"> <item>太原</item> <item>大同</item> <item>阳泉</item> <item>长治</item> <item>晋城</item> <item>朔州</item> <item>晋中</item> <item>运城</item> <item>忻州</item> <item>临汾</item> <item>吕梁</item> </string-array> <string-array name="hebei_array"> <item>石家庄</item> <item>唐山</item> <item>秦皇岛</item> <item>邯郸</item> <item>邢台</item> <item>保定</item> <item>承德</item> <item>沧州</item> <item>廊坊</item> <item>衡水</item> </string-array> <string-array name="shandong_array"> <item>济南</item> <item>青岛</item> <item>淄博</item> <item>枣庄</item> <item>东营</item> <item>烟台</item> <item>潍坊</item> <item>济宁</item> <item>泰安</item> <item>威海</item> <item>日照</item> <item>莱芜</item> <item>临沂</item> <item>德州</item> <item>聊城</item> <item>滨州</item> <item>菏泽</item> </string-array> <string-array name="jiangsu_array"> <item>南京</item> <item>无锡</item> <item>徐州</item> <item>常州</item> <item>苏州</item> <item>南通</item> <item>连云港</item> <item>淮安</item> <item>盐城</item> <item>扬州</item> <item>镇江</item> <item>泰州</item> <item>宿迁</item> </string-array> <string-array name="anhui_array"> <item>合肥</item> <item>芜湖</item> <item>蚌埠</item> <item>淮南</item> <item>马鞍山</item> <item>淮北</item> <item>铜陵</item> <item>安庆</item> <item>黄山</item> <item>滁州</item> <item>阜阳</item> <item>宿州</item> <item>巢湖</item> <item>六安</item> <item>毫州</item> <item>池州</item> <item>宣城</item> </string-array> <string-array name="henan_array"> <item>郑州</item> <item>开封</item> <item>洛阳</item> <item>平顶山</item> <item>安阳</item> <item>鹤壁</item> <item>新乡</item> <item>焦作</item> <item>濮阳</item> <item>许昌</item> <item>漯河</item> <item>三门峡</item> <item>南阳</item> <item>商丘</item> <item>信阳</item> <item>周口</item> <item>驻马店</item> </string-array> <string-array name="hubei_array"> <item>武汉</item> <item>黄石</item> <item>十堰</item> <item>宜昌</item> <item>襄樊</item> <item>鄂州</item> <item>荆门</item> <item>孝感</item> <item>荆州</item> <item>黄冈</item> <item>咸宁</item> <item>随州</item> <item>恩施</item> </string-array> <string-array name="sichuan_array"> <item>成都</item> <item>自贡</item> <item>攀枝花</item> <item>泸州</item> <item>德阳</item> <item>绵阳</item> <item>广元</item> <item>遂宁</item> <item>内江</item> <item>乐山</item> <item>南充</item> <item>眉山</item> <item>宜宾</item> <item>内广安</item> <item>达州</item> <item>雅安</item> <item>巴中</item> <item>资阳</item> </string-array> <string-array name="yunnan_array"> <item>昆明</item> <item>曲靖</item> <item>玉溪</item> <item>保山</item> <item>昭通</item> <item>丽江</item> <item>思茅</item> <item>临沧-lincang</item> </string-array> <string-array name="guizhou_array"> <item>贵阳</item> <item>六盘水</item> <item>遵义</item> <item>安顺</item> <item>铜仁</item> <item>兴义</item> <item>毕节</item> <item>凯里</item> <item>都匀</item> </string-array> <string-array name="hunan_array"> <item>长沙</item> <item>株洲</item> <item>湘潭</item> <item>衡阳</item> <item>邵阳</item> <item>岳阳</item> <item>常德</item> <item>张家界</item> <item>益阳</item> <item>郴州</item> <item>永州</item> <item>怀化</item> <item>娄底</item> <item>吉首</item> </string-array> <string-array name="jiangxi_array"> <item>南昌</item> <item>萍乡</item> <item>九江</item> <item>新余</item> <item>鹰潭</item> <item>赣州</item> <item>吉安</item> <item>宜春</item> <item>抚州</item> <item>上饶</item> </string-array> <string-array name="zhejiang_array"> <item>杭州</item> <item>宁波</item> <item>温州</item> <item>嘉兴</item> <item>湖州</item> <item>绍兴</item> <item>金华</item> <item>衢州</item> <item>舟山</item> <item>台州</item> <item>丽水</item> </string-array> <string-array name="fujian_array"> <item>福州</item> <item>厦门</item> <item>莆田</item> <item>三明</item> <item>泉州</item> <item>漳州</item> <item>南平</item> <item>龙岩</item> <item>宁德</item> </string-array> <string-array name="guangdong_array"> <item>广州</item> <item>韶关</item> <item>深圳</item> <item>珠海</item> <item>汕头</item> <item>佛山</item> <item>江门</item> <item>湛江</item> <item>茂名</item> <item>肇庆</item> <item>惠州</item> <item>梅州</item> <item>汕尾</item> <item>河源</item> <item>阳江</item> <item>清远</item> <item>东莞</item> <item>中山</item> <item>潮州</item> <item>揭阳</item> <item>云浮</item> </string-array> <string-array name="guangxi_array"> <item>南宁</item> <item>柳州</item> <item>桂林</item> <item>梧州</item> <item>北海</item> <item>防城港</item> <item>钦州</item> <item>贵港</item> <item>玉林</item> <item>百色</item> <item>贺州</item> <item>河池</item> <item>来宾</item> <item>崇左</item> </string-array> <string-array name="hainan_array"> <item>海口</item> <item>三亚</item> </string-array> <string-array name="taiwan_array"> <item>台北</item> <item>高雄</item> <item>台中</item> </string-array></resources>再看看解析方法
public InputStream getInputStreamFromAssets(String fileName) {try { InputStream inputStream = getResources().getAssets().open(fileName); return inputStream;} catch (IOException e) { e.printStackTrace();}return null; } public static ArrayList<CityBean> Parse(InputStream provinceIS) {ArrayList<CityBean> provinceArray = new ArrayList<CityBean>();try { // 定义工厂 XmlPullParserFactory XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); // 定义解析器 XmlPullParser XmlPullParser parser = factory.newPullParser(); // 获取xml输入数据 parser.setInput(provinceIS, "utf-8"); provinceArray = ParseXml(parser);} catch (XmlPullParserException e) { e.printStackTrace();}return provinceArray; } public ArrayList<CityBean> ParseXml(XmlPullParser parser) {ArrayList<CityBean> provinceArray = new ArrayList<CityBean>();CityBean provinceTemp = null;List<String> cityName = null;try { // 开始解析事件 int eventType = parser.getEventType(); // 处理事件,不碰到文档结束就一直处理 while (eventType != XmlPullParser.END_DOCUMENT) {// 因为定义了一堆静态常量,所以这里可以用switchString tagName = parser.getName();switch (eventType) {case XmlPullParser.START_DOCUMENT: // 不做任何操作或初开始化数据 break;case XmlPullParser.START_TAG: // 解析XML节点数据 // 获取当前标签名字 if (tagName.equals("string-array")) {provinceTemp = new CityBean();cityName = new ArrayList<String>();provinceTemp.setProvinceName(parser.getAttributeValue(0)); } else if (tagName.equals("item")) {cityName.add(parser.nextText());provinceTemp.setCityName(cityName); } break;case XmlPullParser.END_TAG: // 单节点完成,可往集合里边添加新的数据 if (tagName.equals("string-array"))provinceArray.add(provinceTemp); break;case XmlPullParser.END_DOCUMENT: break;}// 别忘了用next方法处理下一个事件,忘了的结果就成死循环#_#eventType = parser.next(); }} catch (XmlPullParserException e) { e.printStackTrace();} catch (IOException e) { e.printStackTrace();}return provinceArray; }解析的原理很简单,就是用string-array item 等Tag来检索里面的文本
源码下载点击打开链接
1 0
- pull解析一些特殊类型的XML文件
- xml文件的pull解析
- xml文件pull的解析
- Pull解析XML文件
- Pull解析xml文件
- pull解析xml文件
- Pull解析xml文件
- pull解析xml文件
- pull解析xml文件
- pull解析xml文件
- Pull解析xml文件
- Pull解析XML文件
- pull解析xml文件
- pull解析xml文件
- Pull解析Xml文件
- Pull解析XML文件
- pull解析XML文件
- PULL解析XML文件
- 360应用认领时遇到的问题时,我的解决方法.
- go性能调优2
- Android的第十三天
- SQLite3 测试程序
- c++中如何用string实现CString格式化的功能
- pull解析一些特殊类型的XML文件
- servletConfig
- 数组快速排序
- 新浪微博4周年抽红包 Python脚本
- python filter函数
- 2、基于srtuts2实现文件上传下载
- HDU 2639 Bone Collector II
- 看Cognos+SPSS如何无缝对接BI+Data Mining
- sparkR on yarn环境搭建