Android之使用Pull解析Xml数据
16lz
2021-01-23
- 1.Xml解析方法有DOM,SAX,DOM4J,PULL解析等方式,PULL解析是Android中为我们提供的XML解析方式
- 2.获取解析器工厂对象:
XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
- 获取解析器对象:
XmlPullParser xpp=factory.newPullParser();
XmlPullParser接口的常量及方法:
START_DOCUMENT:该常量用来标识开始解析文档的事件。
END_DOCMENT:文档结束
START_TAG:元素开始
END_TAG:元素结束
COMMENT:注释
TEXT:内容
nextTag():读取下一个标记
getEventType():取得事件类型
getText():取得内容
getName():取得元素名称3.实现代码:
public class PullXmlUtil { private InputStream is; public PullXmlUtil(InputStream is){ this.is=is; } public List getAllElement() throws XmlPullParserException, IOException { List myData=null; XmlPullParserFactory factory=XmlPullParserFactory.newInstance(); XmlPullParser xpp=factory.newPullParser(); xpp.setInput(is,"UTF-8"); int eventType=xpp.getEventType(); String elementName=""; while(eventType!=XmlPullParser.END_DOCUMENT){ switch (eventType){ case XmlPullParser.START_DOCUMENT: myData=new ArrayList(); break; case XmlPullParser.START_TAG: elementName=xpp.getName(); break; case XmlPullParser.TEXT: if(elementName.equals("string")) myData.add(xpp.getText()); break; case XmlPullParser.END_TAG: break; } eventType=xpp.next(); } return myData; }}
- 使用时直接传InputStream实例化一个对象,然后再调用其方法即可
更多相关文章
- [android]在上下文菜单的选中事件中获取列表选中的元素
- Android 实现View中添加子元素的动态效果
- Android系统下如何在程序中对XML里面元素进行赋值
- Android 中的 Looper 对象
- 关于Android/java的复杂对象的深拷贝和浅拷贝
- android 使用Intent传递对象 Serializable 或者 Parcelabel 《第
- Android -- SharedPreferences保存基本数据、序列化对象、List数