Android Pull解析xml
2013-01-10 10:50
169 查看
import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import android.util.Xml; import com.xtlh.cn.entity.Book; public class PullParseService { public static List<Book> getBooks(InputStream inputStream) throws Exception{ List<Book> books = null; Book book = null; XmlPullParser parser = Xml.newPullParser(); parser.setInput(inputStream, "UTF-8"); int event = parser.getEventType();//产生第一个事件 while(event!=XmlPullParser.END_DOCUMENT){ switch(event){ case XmlPullParser.START_DOCUMENT://判断当前事件是否是文档开始事件 books = new ArrayList<Book>();//初始化books集合 break; case XmlPullParser.START_TAG://判断当前事件是否是标签元素开始事件 if("book".equals(parser.getName())){//判断开始标签元素是否是book book = new Book(); book.setId(Integer.parseInt(parser.getAttributeValue(0)));//得到book标签的属性值,并设置book的id } if(book!=null){ if("name".equals(parser.getName())){//判断开始标签元素是否是name book.setName(parser.nextText()); }else if("price".equals(parser.getName())){//判断开始标签元素是否是price book.setPrice(Float.parseFloat(parser.nextText())); } } break; case XmlPullParser.END_TAG://判断当前事件是否是标签元素结束事件 if("book".equals(parser.getName())){//判断结束标签元素是否是book books.add(book);//将book添加到books集合 book = null; } break; } event = parser.next();//进入下一个元素并触发相应事件 }//end while return books; } }
参考:http://sinye.iteye.com/blog/763949
相关文章推荐
- android解析xml文件之XmlPullParser
- Android的pull解析XML文件
- android xml解析之pull解析
- Android中的XML解析与生成——Pull解析xml、实现xml文件的生成
- Android[中级教程]第五章 XML解析之PULL解析器
- Android解析xml——pull
- Android-XmlPullParser解析XML
- android使用XmlPullParser来解析XML文件
- android中xml的pull解析
- android xml解析XmlPullParser的使用
- Android解析XML(PULL方式)
- Android PULL解析XML
- Android 下用 Pull 解析和生成 XML
- android解析XML总结(SAX、Pull、Dom三种方式)
- android pull解析xml
- Android XmlPullParser工具解析
- android学习之使用pull方式解析xml
- Android pull封装,直接解析xml
- android 解析XML最常用的dom ,sax , pull
- 请帮忙用android的XmlPullParser解析xml中的节点