android中pull解析,读取xml中的实体类(通过xml发送实体类)
2015-04-20 16:42
337 查看
以下是android代码
private List<TestEntity> showXml() { List<TestEntity> testEntity = null; TestEntity mTestEntity = null; // ========创建XmlPullParser,有两种方式======= // 方式一:使用工厂类XmlPullParserFactory try { XmlPullParserFactory pullFactory = XmlPullParserFactory .newInstance(); XmlPullParser parser = pullFactory.newPullParser(); // 方式二:使用Android提供的实用工具类android.util.Xml // XmlPullParser parser = Xml.newPullParser(); InputStream inStream = getAssets().open("test.txt"); // 解析文件输入流 parser.setInput(inStream, "GBK"); // 产生第一个事件 int eventType = parser.getEventType(); // 只要不是文档结束事件,就一直循环 while (eventType != XmlPullParser.END_DOCUMENT) { switch (eventType) { // 触发开始文档事件 case XmlPullParser.START_DOCUMENT: testEntity = new ArrayList<TestEntity>(); break; // 触发开始元素事件 case XmlPullParser.START_TAG: // 获取解析器当前指向的元素的名称 String name = parser.getName(); if ("a".equals(name)) { // 通过解析器获取id的元素值 mTestEntity = new TestEntity(); } if (mTestEntity != null) { if ("content".equals(name)) { // 获取解析器当前指向元素的下一个文本节点的值 mTestEntity.setContent(parser.nextText()); } if ("id".equals(name)) { // 获取解析器当前指向元素的下一个文本节点的值 mTestEntity.setId(parser.nextText()); } if ("yesId".equals(name)) { // 获取解析器当前指向元素的下一个文本节点的值 mTestEntity.setYesId(parser.nextText()); } if ("type".equals(name)) { // 获取解析器当前指向元素的下一个文本节点的值 mTestEntity.setType(parser.nextText()); } if ("part".equals(name)) { // 获取解析器当前指向元素的下一个文本节点的值 mTestEntity.setPart(parser.nextText()); } if ("noId".equals(name)) { // 获取解析器当前指向元素的下一个文本节点的值 mTestEntity.setNoId(parser.nextText()); } } break; // 触发结束元素事件 case XmlPullParser.END_TAG: // if ("a".equals(parser.getName())) { testEntity.add(mTestEntity); mTestEntity = null; } break; default: break; } eventType = parser.next(); } return testEntity; } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }
以下是xml
<iq> <a> <content>有女朋友吗?</content> <id>1</id> <yesId>2</yesId> <type>1</type> <part>头</part> <noId>3</noId> </a> <a> <content>结婚了吗?</content> <id>2</id> <yesId>4</yesId> <type>2</type> <part>头</part> <noId>5</noId> </a> <a> <content>相亲了吗?</content> <id>3</id> <yesId>ks1000</yesId> <type>3</type> <part>头</part> <noId>ks2000</noId> </a> <a> <content>有孩子了吗?</content> <id>4</id> <yesId>ks3000</yesId> <type>3</type> <part>头</part> <noId>ks4000</noId> </a> <a> <content>怎么不结婚啊?</content> <id>5</id> <yesId>ks5000</yesId> <type>3</type> <part>头</part> <noId>ks6000</noId> </a> <a> <content>炼俯卧撑没?</content> <id>6</id> <yesId>ks7000</yesId> <type>1</type> <part>胸</part> <noId>1</noId> </a> </iq>
相关文章推荐
- Android数据存储之XmlPull解析XML文件(读取部分)
- android_xml解析之 使用PULL读取XML文件 .
- Android 通过Dom, Sax, Pull解析网络xml数据
- Android通过post请求发送一个xml,解析返回xml数据
- Android-通过网络获取xml文件使用pull解析得到服务器中的信息(新闻客户端)
- android利用XmlPullParse对XML进行解析读取(1) + (2) 总结
- Android通过post请求发送一个xml,解析返回xml数据
- Android利用XmlPullParse对XML进行解析读取(一)
- Android开发之Pull解析读取和生成XML文件
- Android学习第七天————通过android提供的XmlPullParserFactory解析XML文件
- android解析XML总结(SAX、Pull、Dom三种方式)
- Android笔记(四十六) Android中的数据存储——XML(二)PULL解析
- [Android面试] Xml 解析辨析---SAX、DOM、Pull
- Android中解析XML_DOM_SAX_PULL
- 通过HttpUrlConnection读取数据进行Pull解析
- android之Xml的高效解析方式——pull
- android PULL 解析XML
- Android_XmlPullParser解析xml文件_141014
- Android Pull解析xml
- android用pull解析xml文件