android xml 的解析. 1.普通型
<?xml version=”1.0″ ?> <statuses> <status> <source1>a</source1> <source2>a</source2> <source2>a</source2> </status> <statuses> </xml>
解析代码
try{ xpp.setInput( new StringReader ( “xml string” ) ); XmlPullParser parser = XmlPullParserFactory.newInstance() .newPullParser(); int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_TAG) { String name = parser.getName(); Log.v(“tag”,parser.getName()+”=”+parser.next()); } eventType = parser.next(); } } catch (XmlPullParserException e) { } catch (Exception e) { }
2.嵌套子类.
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?> <statuses> <status> <source1>a</source1> <source2>a</source2> <source2>a</source2> <user> <source1>a</source1> <source2>a</source2> <source2>a</source2> </user> </status> <status> <source1>a</source1> <source2>a</source2> <source2>a</source2> <user> <source1>a</source1> <source2>a</source2> <source2>a</source2> </user> </status> <statuses> </xml>
解析代码:
try{ XmlPullParser parser = XmlPullParserFactory.newInstance() .newPullParser(); xpp.setInput( new StringReader ( xml string ) ); parser.next(); parser.require(XmlPullParser.START_TAG, null, “statuses”); while (parser.nextTag() != XmlPullParser.END_TAG) { parser.require(XmlPullParser.START_TAG, null, “status”); for (int i=0;i<3;i++){ parser.nextTag(); Log.v(“tag”,parser.getName()+”=”+ parser.nextText()); } while (parser.nextTag() != XmlPullParser.END_TAG) { parser.require(XmlPullParser.START_TAG, null, “user”); while (parser.nextTag() != XmlPullParser.END_TAG) { String name = parser.getName(); String text2 = parser.nextText(); Log.v(“tag”,”text2″+text2); parser.require(XmlPullParser.END_TAG, null, name); } parser.require(XmlPullParser.END_TAG, null, “user”); } parser.require(XmlPullParser.END_TAG, null, “status”); } parser.require(XmlPullParser.END_TAG, null, “statuses”); parser.next(); parser.require(XmlPullParser.END_DOCUMENT, null, null); // global.userinfo.dump(); } catch (XmlPullParserException e) { } catch (Exception e) { }
最里面那个可以满足 <user>也是循环. 如果<user>不循环.
可以使用
for (int i=0;i<3;i++){ parser.nextTag(); Log.v(“tag”,parser.getName()+”=”+ parser.nextText()); }
发表评论
-
android多线程下载详解
2012-05-10 10:38 670本文将介绍在android平台下如何实现多线程下载,大家 ... -
[Android]倒影效果的ImagView by sodino
2012-04-18 17:36 864效果图如下: pac ... -
使用PorterDuffXfermode实现遮罩层
2012-04-18 17:09 1143最近在开发一个小游戏中,用到一个显示当前进度的进度条,如下图所 ... -
对Canvas和Matrix的理解的简介与内容
2012-04-18 16:09 995不了解Matrix的同学看这里: 弄明白ma ... -
ImageView.setScaleType(ImageView.ScaleType)详解
2012-04-18 14:33 12001、这里我们重点懂得ImageView的属性android:s ... -
android:shape的使用
2012-04-17 17:47 520Android中常常使用shape来定义控件的一些显示属 ... -
ListView滑动分页
2012-04-12 16:36 0SCROLL_STATE_FLING是指手指快速拖动后,手指离 ... -
Android杂谈---读取XML资源
2012-02-07 13:51 919获取XML文件的基本思路 ... -
Android SAX API: XmlResourceParser及其扩展应用
2012-02-07 12:02 7public Vector<Map<Objec ... -
android网络传输的传送对象
2012-01-12 17:03 767此方法将对象写入对象流,然后转换成string,故适用于htt ... -
教你如何开关Android的APN网络
2011-09-15 11:12 685由于Android对于APN的网络API没有公开,不过我们 ... -
android 使用CMWAP接入点访问互联网
2011-09-15 10:46 898Android是个公认的好系统 ... -
android 创建兼容CMWAP连接的应用程序
2011-09-15 10:16 1052在Android开发中,经常会用到连接网络的操作,比如下 ... -
ListView分页加载数据
2011-09-08 14:11 954对于ListView分页加载数据,是正常情况下是非常有必要。一 ... -
ListView 实现像Android Market那样 分页加载 滚动加载
2011-09-07 14:57 1048ListView 实现像Android Market那样 分页 ... -
android 一个TabHost的例子
2011-09-07 11:30 1259package com.eric; import and ... -
android播放gif动画控件(例子)
2011-09-07 10:34 17381.测试程序 package com.test; ... -
ListView动态加载数据
2011-09-06 18:05 11701. 引言: 为了提高ListV ... -
ListView 异步加载图片源码
2011-09-06 17:51 11851.AsyncListImage.java packa ... -
Android 动态加载布局
2011-09-06 10:49 1304由于前段时间项目需 ...
相关推荐
Android解析xml(3)---Pull解析
在学习Android的Framework层源码时,Android大量的使用XmlPullParser来解析xml文件的源码。因此,这里也顺道介绍一下XmlPullParser的使用。 XML XML(eXtensible Markup Language)中文名为可扩展标记语言。标记指...
进来很多人在找天气的API接口,所以乘此机会写了个在android平台用 XmlPullParser解析从车联网(即百度天气API)获取的天气XML文件!这是一个工具包,开发者可以直接拿过去调用,其中为了省时间,很多代码没优化,如...
见博客:http://blog.csdn.net/baidu_nod/article/details/38248633
解析XML文件:在Android平台上可以使用SAX、DOM和Android附带的pull解析器解析XML文件;pull解析器提供了各种事件,使用parser.next()方法进入下一个元素并触发相应事件,pull解析器产生的事件是一个数字,可以通过...
解析Xml有三种方式可选,sax ,dom ,pull ,,各有各的优点,但在android上是不推荐使用DOM来解析的 一般都用SAX和PULL 这两个性能相近, SAX的解析方式大家可以去看MARS的教程 讲的也比较好喔 PULL的话我个人觉得处理...
主要介绍了Android XmlPullParser 方式解析 Xml 文档的相关资料,需要的朋友可以参考下
2.1 XML解析 2.2 实战演练——习题详情显示 XML解析 XML解析 XML parsing 将XML文件中所有内容以DOM树形式存放在内存中,支持删除、修改等功能。缺点是消耗内存较大。 三种解析方式 DOM解析 逐行扫描XML文件,读取...
xmlPullParser解析器jar包,从android里提取的.
本文实例讲述了Android开发中解析xml文件XmlUtils工具类与用法。分享给大家供大家参考,具体如下: 1. xmlUtil工具类 package com.example.xmlpaserutil.util; import java.io.InputStream; import java.lang....
怎么用XmlPullParser解析xml,以及怎么把数据转换成xml。
android pull 解析 源码 android2.2 实例 简单易懂 ,可以运行的 XmlPullParser parser = Xml.newPullParser(); List<Person> listPerson = null; parser.setInput(inputStream, "UTF-8"); int eventType = ...
首先是创建,我们用XmlSerializer这个类来创建一个xml文件,其次是解析xml文件,常用的有dom,sax,XmlPullParser等方法,由于sax代码有点复杂,本节只讲解一下dom与XmlPullParser解析,sax我将会在下一节单独讲解,...
Android系统中和创建XML相关的包为org.xmlpull.v1,在这个包中不仅提供了用于创建XML的 XmlSerializer,还提供了用来解析XML的Pull方式解析器 XmlPullParser XmlSerializer没有像XmlPullParser那样提取XML事件,而是...
官方推荐XmlPullParser,其在android中对XML的解析是高效且可维护的。android已经拥有该接口的两个实现: KXmlParser,通过XmlPullParserFactory.newPullParser()创建。 ExpatPullParser,通过Xml.newPullParser()...
而Android客户端则使用 XmlPullParser来解析xml数据。服务器端代码: 代码如下: package servlet; import java.io.IOException; import java.io.PrintWriter; import java.net.URLDecoder; import java.sql....
XmlPullParser pullParser = WebService.getXMLPullParser("soap.xml", null); List<String> list = new ArrayList(); int event = pullParser.getEventType(); while(event != ...
Android中对Pull方法提供了支持的API,主要是 代码如下:org.xmlpull.v1.XmlPullParser;org.xmlpull.v1.XmlPullParserFactory;二个类,其中主要使用的是XmlPullParser,XmlPullParserFactory是一个工厂,用于构建...