Android Pull解析xml
2010-09-17 00:16:00 来源:WEB开发网17.
18. int event = parser.getEventType();//产生第一个事件
19. while(event!=XmlPullParser.END_DOCUMENT){
20. switch(event){
21. case XmlPullParser.START_DOCUMENT://判断当前事件是否是文档开始事件
22. books = new ArrayList< Book>();//初始化books集合
23. break;
24. case XmlPullParser.START_TAG://判断当前事件是否是标签元素开始事件
25. if("book".equals(parser.getName())){//判断开始标签元素是否是book
26. book = new Book();
27. book.setId(Integer.parseInt(parser.getAttributeValue(0)));//得到book标签的属性值,并设置book的id
28. }
29. if(book!=null){
30. if("name".equals(parser.getName())){//判断开始标签元素是否是name
31. book.setName(parser.nextText());
32. }else if("price".equals(parser.getName())){//判断开始标签元素是否是price
33. book.setPrice(Float.parseFloat(parser.nextText()));
34. }
35. }
36. break;
37. case XmlPullParser.END_TAG://判断当前事件是否是标签元素结束事件
38. if("book".equals(parser.getName())){//判断结束标签元素是否是book
39. books.add(book);//将book添加到books集合
40. book = null;
41. }
42. break;
43. }
44. event = parser.next();//进入下一个元素并触发相应事件
45. }//end while
46. return books;
47. }
48. }
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();
更多精彩
赞助商链接