Android 解析XML之三 PULL

【Android 解析XML之三 PULL】在android系统中解析这些xml的方式,是使用pul解析器进行解析的,它和sax解析一样(感觉要比sax简单点),也是采用事件驱动进行解析的,当pull解析器,开始解析之后,我们可以调用它的next()方法,来获取下一个解析事件(就是开始文档,结束文档,开始标签,结束标签),当处于某个元素时可以调用XmlPullParser的getAttributte()方法来获取属性的值,也可调用它的nextText()获取本节点的值。


实现于activity中:

//针对Pull解析 public List getPullData(){List list = new ArrayList(); XmlResourceParser xrp = getResources().getXml(R.xml.websites); //直到文档的结尾处 try { while(xrp.getEventType() != XmlResourceParser.END_DOCUMENT){ //如果遇到开始标签 if(xrp.getEventType() == XmlResourceParser.START_TAG){ String tagName = xrp.getName(); //取得标签名 if(tagName.equals("website")){ Map map = new HashMap(); String id = xrp.getAttributeValue(null, "id"); //通过属性名获取属性值 map.put("id", id); String src = https://www.it610.com/article/xrp.getAttributeValue(1); //通过索引值获取属性值 map.put("src", src); map.put("name", xrp.nextText()); list.add(map); } } xrp.next(); //解析下一个事件 } } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; }







    推荐阅读