1,使用注意事项:
【1】创造对应的JavaBean
【2】写出对应的成员变量直接生成set ,get 方法
【2】解析
package com.itheima.newsclient;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlPullParser;import android.util.Xml;public class NewsXmlUtils {// 解析xml 把解析的数据封装到集合public static List parserXml(InputStream in) {List lists = null;News news = null;try {// [1]获取xmlpullparser解析器的实例XmlPullParser parser = Xml.newPullParser();// [2]设置要解析的xml文件parser.setInput(in, "utf-8");// [3]获取要解析的事件类型int eventType = parser.getEventType();// [4]把xml所有的数据都解析出来while (eventType != XmlPullParser.END_DOCUMENT) {// [5]具体判断一下到底解析的是开始标签还是结束标签switch (eventType) {case XmlPullParser.START_TAG: //代表解析的是所有开始标签//[5.1]具体判断一下到底解析的是哪个开始标签if ("channel".equals(parser.getName())) {//[5.2]解析到这个标签 创建一个集合对象lists = new ArrayList();}else if("item".equals(parser.getName())){//[5.3]创建bean对象news = new News();}else if("title".equals(parser.getName())){//[5.4]把title标签对应的内容解析出来存到bean里news.setTitle(parser.nextText());}else if("description".equals(parser.getName())){//[5.5]把description标签对应的内容解析出来存到bean里news.setDescription(parser.nextText());}else if("image".equals(parser.getName())){//[5.6]把image 标签对应的内容解析出来存到bean里news.setImagepath(parser.nextText());}else if("type".equals(parser.getName())){//[5.7]把type 标签对应的内容解析出来存到bean里news.setType(parser.nextText());}else if("comment".equals(parser.getName())){//[5.8]把comment 标签对应的内容解析出来存到bean里news.setComment(parser.nextText());}break;case XmlPullParser.END_TAG: //代表解析的是结束标签if ("item".equals(parser.getName())) {//把bean加入到集合lists.add(news);}break;}// [6]不停的解析eventType = parser.next();}return lists;} catch (Exception e) {e.printStackTrace();return null;}}}