- 浏览: 375636 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
longxishui12:
这个一定要顶得高高的。
[Android UI界面] android中仿iphone实现listview的反弹效果 -
klower.jiang:
Good job, Thank you so much!
能够兼容ViewPager的ScrollView -
ZSRTFAT:
...
file size 的大小计算
SAX,本地解析:
try { SAX(getAssets().open("data.xml")); } catch (Exception e) { e.printStackTrace(); }
public void SAX(InputStream input) throws Exception { SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser(); XMLReader xReader = sp.getXMLReader(); XMLAdressInfo xmlAdress = new XMLAdressInfo(); xReader.setContentHandler(xmlAdress); xReader.parse(new InputSource(input)); //获得所有的数据 hashMap = xmlAdress.getData(); //获得省市对应的数据 provinceCity = xmlAdress.getCityData(); Log.d("dfdfd", ""+provinceCity.size()); }
public class XMLAdressInfo extends DefaultHandler{ private String characters = ""; private HashMap<String, HashMap<String, List<String>>> hashMap ; private HashMap<String, List<String>> hashMapCity ; private List<String> list; private String city; private String province; private HashMap<String, List<String>> provinceCity ; private List<String> cityList ; @Override public void characters(char[] ch, int start, int length) throws SAXException { super.characters(ch, start, length); String str = new String(ch, start, length); str = str.replace("\n", ""); str = str.replace("\t", ""); characters += str.trim(); } @Override public void startDocument() throws SAXException { super.startDocument(); hashMap = new HashMap<String, HashMap<String,List<String>>>(); provinceCity = new HashMap<String, List<String>>(); } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { super.startElement(uri, localName, qName, attributes); if(localName.equals("province")){ province = attributes.getValue("name"); hashMapCity = new HashMap<String, List<String>>(); cityList = new ArrayList<String>(); } if(localName.equals("city")){ list = new ArrayList<String>(); city = attributes.getValue("name"); } } @Override public void endElement(String uri, String localName, String qName) throws SAXException { super.endElement(uri, localName, qName); if(localName.equals("province")){ hashMap.put(province, hashMapCity); provinceCity.put(province, cityList); }else if(localName.equals("city")){ hashMapCity.put(city, list); cityList.add(city); }else if(localName.equals("district")){ list.add(characters); } characters = ""; } public HashMap<String, HashMap<String, List<String>>> getData(){ return hashMap; } public HashMap<String, List<String>> getCityData(){ return provinceCity; } }
PULL 解析:
PpdAdInfo ppdAdInfo = null ; try { XmlPullParser parser = Xml.newPullParser(); // XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); // parser.setInput(new StringReader(strResult));// 获得解析到的事件类别,这里有开始文档,结束文档,开始标签,结束标签,文本等等事件。 parser.setInput(StringTOInputStream(strResult), "UTF-8"); int eventType = parser.getEventType(); ppdAdInfosList = new ArrayList<PpdAdInfo>(); while (eventType != XmlPullParser.END_DOCUMENT) {// 一直循环,直到文档结束 switch (eventType) { case XmlPullParser.START_TAG: if (parser.getName().equals("ppdAd")) { ppdAdInfo = new PpdAdInfo(); } else if (parser.getName().equals("androidPackageName")) { eventType = parser.next(); ppdAdInfo.setAndroidPackageName(parser.getText()); } else if (parser.getName().equals("clickProxyURL")) { eventType = parser.next(); ppdAdInfo.setClickProxyURL(parser.getText()); } else if (parser.getName().equals("ppdCampaignId")) { eventType = parser.next(); ppdAdInfo.setPpdCampaignId(parser.getText()); } else if (parser.getName().equals("productThumbnail")) { eventType = parser.next(); ppdAdInfo.setProductThumbnail(parser.getText()); } else if (parser.getName().equals("productDescription")) { eventType = parser.next(); ppdAdInfo.setProductDescription(parser.getText()); } else if (parser.getName().equals("productName")) { eventType = parser.next(); ppdAdInfo.setProductName(parser.getText()); } else if (parser.getName().equals("rating")) { eventType = parser.next(); ppdAdInfo.setRating(parser.getText()); } break; case XmlPullParser.END_TAG: if (parser.getName().equals("ppdAd")) { ppdAdInfosList.add(ppdAdInfo); ppdAdInfo = null; } break; } eventType = parser.next(); } } catch (Exception e) { Log.d("test", "eeee__" + e.getMessage()); e.printStackTrace(); }
/** * 将String转换成InputStream * @param in * @return * @throws Exception */ public static InputStream StringTOInputStream(String in) throws Exception{ ByteArrayInputStream is = new ByteArrayInputStream(in.getBytes("ISO-8859-1")); return is; }
发表评论
-
drableleft
2012-12-07 15:11 1033Drawable close = getResource ... -
serviceToactivity
2012-10-08 09:47 832serviceToactivity 在Service中 ... -
数据库
2012-09-29 10:17 781判断当前数据库表中的字段是否存在: public ... -
cache保存和读取
2012-09-26 16:10 874读取: http://blog.csdn.net/An ... -
android sd卡状态、路径、可用空间,内存
2012-07-18 10:19 1602转载:android sd卡状态、路径、可用空间,内存 ... -
sd卡监听的问题
2012-07-16 15:53 1049http://www.cnblogs.com/error404 ... -
Android 文件打开方式
2012-07-13 09:29 1150转载:http://blog.csdn.net/weich_j ... -
深入理解android 卷II样章发布
2012-07-05 11:39 781转载: 深入理解android 卷II样章发布 h ... -
得到栈顶的activity
2012-07-03 14:43 1118得到栈顶的activity: private Stri ... -
phone调用紧急电话
2012-07-02 22:08 1264调用紧急电话, 解决紧急电话界面 按home键,回到锁屏界面 ... -
判断apk是否安装的sd卡,还是手机内存
2012-06-29 15:36 3496一、判断apk是否安装的sd卡,还是手机内存 P ... -
PackageInfo的操作
2012-06-18 16:40 979一、判断当前SD卡是否存在: public stati ... -
dazhongdianping
2012-06-07 16:16 1147动画: http://www.apkbus.com/andr ... -
删除list的数据
2012-06-05 10:59 1193转载: http://www.cnblo ... -
getCacheDir的用法
2012-06-01 14:43 5284转载: http://www.cnblogs.com/ ... -
读写文件
2012-05-31 16:14 1065http://blog.csdn.net/feilong ... -
根据包名获得APP的ICON
2012-05-30 14:45 3428根据包名获得APP的ICON 1、 Drawable ... -
瀑布流
2012-05-30 14:42 870瀑布流 -
Android中获取应用程序(包)的信息-----PackageManager的使用(
2012-05-29 18:19 1223Android中获取应用程序( ... -
本地语言
2012-05-29 14:32 939public String getLocaleLanguage ...
相关推荐
android sax pull解析方式,比较好的demo
分别实现了android 最常用的SAX和PULL解析方式,并附有详尽分析
在Android中,使用SAX和PULL解析XML,本项目中以解析天气预报为例。 详情见博客:http://blog.csdn.net/yalin18/article/details/7437752
Java解析XML的三种方式 Ø Android中,解析Xml数据的三种方式: Ø 1、DOM(org.w3c.dom) Ø “文档对象模型”方式,解析完的Xml将生成一个树状结构的对象。...Ø 类似于SAX方式,程序以“拉取”的方式对Xml进行解析。
Android sax pull dom 文件解析 示例,三种方式实现。
pull,sax,dom,解析XML的例子:各一个
使用环境eclipse4.8,jdk1.8 使用sax,pull,dom4j解析XML,对xml的简单解析,sax,pull,dom4j的简单使用
Pull和SAX 解析的实例
通过SAX和PULL来解析XML,同时生成xml,相关博文:http://www.cnblogs.com/tianzhijiexian/p/4020250.html
android解析XML总结(SAX、Pull、Dom三种方式),代码实现
通过SAX和Pull解析服务器端的数据,使得用户能得到解析后的数据。
android 应用程序 做的 解析xml 用了三种技术 sax dom pull 三种解析xml的常用技术 另外还有一些怎么快速的让指定文件读取到xml文件中
XML的三种解析方式,pull解析,Sax解析,DOM解析
此示例介绍了xml的三种解析方式,包括SAX解析,dom解析,pull解析 并介绍了读取文件的方法,怎么写入xml文件等内容,希望对您有所帮助,谢谢。
XML解析有三种方式 1,DOM 通用性强,它会将XML文件的所有内容读取到内存中,然后使用DOM API遍历XML树、检索所需的数据;...Android自带的XML解析器,和SAX基本类似,也是事件驱动,不同的是PULL事件返回的是数值型
读取和解析xml文件
三种XML的解析方法,DOM SAX PULL程序例子代码,希望对您有帮助。
XML在Android中是非常常见用来保存数据的文件,解析的方法也很多,如:DOM、SAX、PULL,其中PULL是Android自带的解析XML方法
SAX、PULL、DOM解析XML
pull解析xml文件,和sax和dom一样 都可以脱离android单独使用,pull和sax的原理一样,不一样的地方是pull读取xml文件后调用方法返回的是数字, 读取到xml的声明返回数字0 START_DOCUMENT; 读取到xml的结束返回数字1 ...