List<Entry> list = new ArrayList<>();
Entry entry = null;
try {
int eventType = response.getEventType();
while(XmlPullParser.END_DOCUMENT != eventType){
switch (eventType){
case XmlPullParser.START_TAG:
String tag = response.getName();
if ("item".equalsIgnoreCase(tag)){
entry = new Entry(); }else if (entry != null){
if ("title".equalsIgnoreCase(tag)){
entry.setTitle(new String(response.nextText().getBytes(),"UTF-8"));
}else if ("description".equalsIgnoreCase(tag)){
entry.setDesc(new String(response.nextText().getBytes(),"UTF-8"));
}else if ("link".equalsIgnoreCase(tag)){
entry.setUrl(response.nextText());
}
}
break;
case XmlPullParser.END_TAG:
if (response.getName().equalsIgnoreCase("item") && entry != null) {
list.add(entry);
entry = null;
}
break;
default:
break;
}
eventType = response.next();
}
}catch (XmlPullParserException e) {
Log.e(TAG,"xml parse error :"+e.getLocalizedMessage());
} catch (IOException e) {
Log.e(TAG,"xml parse error IOException:"+e.getLocalizedMessage());
}

上面是第一种

 try {
int eventType = response.getEventType();
while(XmlPullParser.END_DOCUMENT != eventType){
switch (eventType){
case XmlPullParser.START_TAG:
String tag = response.getName();
if ("entry".equalsIgnoreCase(tag)){
entry = new Entry(); }else if (entry != null){
if ("title".equalsIgnoreCase(tag)){
entry.setTitle(new String(response.nextText().getBytes(),"UTF-8"));
}else if ("content".equalsIgnoreCase(tag)){
entry.setDesc(new String(response.nextText().getBytes(),"UTF-8"));
}else if ("link".equalsIgnoreCase(tag)){
entry.setUrl(response.getAttributeValue(null, "href"));
}
}
break;
case XmlPullParser.END_TAG:
if (response.getName().equalsIgnoreCase("entry") && entry != null) {
list.add(entry);
entry = null;
}
break;
default:
break;
}
eventType = response.next();
}
}catch (XmlPullParserException e) {
Log.e(TAG,"xml parse error :"+e.getLocalizedMessage());
} catch (IOException e) {
Log.e(TAG,"xml parse error IOException:"+e.getLocalizedMessage());
}

上面是第二种

xml解析代码示例的更多相关文章

  1. iOS 中的XML解析代码(SAX)

    1.XML解析(SAX) NSXMLParser SAX 大文件 1)打开文档 - (void)parserDidStartDocument:(NSXMLParser *)parser 2)开始查找起 ...

  2. XML解析代码课堂讲解实例

    //获取所有的子元素,不包括回车 package com.dom4jDemo; import java.io.File; import java.util.List; import org.dom4j ...

  3. XML解析代码

    import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.LinkedLi ...

  4. XML解析与xml和Map集合的互转

    1.XML的解析.首先解析XML文件我们需要先获取到文件的存放路径,获取方法有三种分别获取xml文件不同的存放路径. 代码: public class PropertiesDemo { public ...

  5. Delphi之通过代码示例学习XML解析、StringReplace的用法(异常控制 good)

    *Delphi之通过代码示例学习XML解析.StringReplace的用法 这个程序可以用于解析任何合法的XML字符串. 首先是看一下程序的运行效果: 以解析这样一个XML的字符串为例: <? ...

  6. ACEXML解析XML文件——简单示例程序

    掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...

  7. 使用XStream注解实现Java对象与XML互相转换的代码示例

    本文记录一下使用xstream这个api的注解特性对Java对象与XML字符串相互转换的一些代码示例.    我们很多人都处理过XML文件,也有很多非常成熟的第三方开源软件.如:jdom.dom4j等 ...

  8. My.Ioc 代码示例——实现自动注册/解析

    在很多 Ioc 容器中,当使用者向容器请求实现了某个契约类型 (Contract Type) 的服务时 (调用类似如下方法 container.Resolve(Type contractType)), ...

  9. 通过http请求传递xml流和接收xml流的代码示例

    通过http请求传递xml流和接收xml流的代码示例 //1.在servlet中post一个xml流:import java.io.OutputStreamWriter;import org.jdom ...

随机推荐

  1. WCF编程系列(二)了解WCF

    WCF编程系列(二)了解WCF   面向服务     服务是复用进化的结果,起初的复用是函数,面向对象编程的出现使复用从函数上升到对象,随后面向组件编程又将复用从对象上升到组件,现在面向服务编程将复用 ...

  2. union 和 union all 的区别

    Union因为要进行重复值扫描,所以效率低.如果合并没有刻意要删除重复行,那么就使用Union All  两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致): 如果我们需要将两个 ...

  3. Java编程思想读书笔记--第21章并发

    1.基本的线程机制 定义任务 public class LiftOff implements Runnable{ protected int countDown = 10; private stati ...

  4. 初学java,遇到的陌生词语(1)

    字节码文件:不包含硬件信息,完全与硬件平台无关,因此,无法直接由操作系统来运行. Java应用程序的执行过程:代码装入.代码检验.代码执行. 1.代码装入:由类装配器完成,装入程序运行时所需的所有源代 ...

  5. Linux Terminal命令

    Linux Terminal命令 1.Ctrl + a 回到命令行の「行首/head」. 2.Ctrl + e 回到命令行の「行尾/tail」, ctrl + end. 3.Ctrl + w 後向/b ...

  6. Percona-Server-5.5.15源码安装

    [root@localhost rpm]# ll total 19148 -rw-r--r-- 1 root root   562628 Jan 18  2007 bison-2.3-2.1.x86_ ...

  7. echshop 微信扫码支付 遇到的问题

    参考的网站 (转)http://www.ecshop119.com/ecshopjc-937.html(转)http://www.6gdown.com/softedupage/58929.html  ...

  8. centos7下编译qt的mysql驱动

    在编译mysql驱动之前,首先要安装mysql,可以使用yum安装,这里将不再介绍. 在将qt和mysql都安装好之后,首先找到mysql的头文件以及他的共享库,我的mysql是使用yum安装的,头文 ...

  9. Linux下的ntp时钟同步问题

    前段时间,项目中有个需求,需要将linux和windows的时间进行同步,网上也有很多类似时钟同步的帖子,大致类似:不过本次的linux的机器有点特殊,没有service命令,而且要求在另一台suse ...

  10. 利用javascript Location访问Url,重定向,刷新页面

    网上转来了, 方便以后查询参考 本文介绍怎么使用javascript Location对象读和修改Url.怎么重载或刷新页面.javascript提供了许多方法访问,修改当前用户在浏览器中访问的url ...