try {
// 获取factory
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// 获取 parser
XmlPullParser parser = factory.newPullParser();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
xml.getBytes());
// 设置流
parser.setInput(byteArrayInputStream, "UTF-8");
int type_pull = parser.getEventType();
while (parser.getEventType() != XmlPullParser.END_DOCUMENT) {
switch (type_pull) {
case XmlPullParser.START_DOCUMENT:// 开始接收文件(走一次)
nList = new ArrayList<News>();
break;
case XmlPullParser.START_TAG:// 开始解析元素
if ("news".equals(parser.getName())) {
// 得到对象呀
books = new News();
}
if (books != null) {
if ("id".equals(parser.getName())) {
books.id = parser.nextText();
} else if ("title".equals(parser.getName())) {
books.title = parser.nextText();
} else if ("body".equals(parser.getName())) {
books.body = parser.nextText();
} else if ("commentCount".equals(parser.getName())) {
books.commentCount = parser.nextText();
} else if ("author".equals(parser.getName())) {
books.author = parser.nextText();
} else if ("authorid".equals(parser.getName())) {
books.authorid = parser.nextText();
} else if ("pubDate".equals(parser.getName())) {
books.pubDate = parser.nextText();
} else if ("newstype".equals(parser.getName())) {
if ("type".equals(parser.getName())) {
books.newstype.type = parser.nextText();
} else if ("authoruid2".equals(parser.getName())) {
books.newstype.authoruid2 = parser.nextText();
}
}
}
break;
case XmlPullParser.END_TAG:// 结束解析元素
// 判断是不是 Book
if ("news".equals(parser.getName())) {
nList.add(books);
}
break;
case XmlPullParser.END_DOCUMENT:// 结束接收文件
break;
default:
break;
}
type_pull = parser.next();
}
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 获取factory
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// 获取 parser
XmlPullParser parser = factory.newPullParser();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
xml.getBytes());
// 设置流
parser.setInput(byteArrayInputStream, "UTF-8");
int type_pull = parser.getEventType();
while (parser.getEventType() != XmlPullParser.END_DOCUMENT) {
switch (type_pull) {
case XmlPullParser.START_DOCUMENT:// 开始接收文件(走一次)
nList = new ArrayList<News>();
break;
case XmlPullParser.START_TAG:// 开始解析元素
if ("news".equals(parser.getName())) {
// 得到对象呀
books = new News();
}
if (books != null) {
if ("id".equals(parser.getName())) {
books.id = parser.nextText();
} else if ("title".equals(parser.getName())) {
books.title = parser.nextText();
} else if ("body".equals(parser.getName())) {
books.body = parser.nextText();
} else if ("commentCount".equals(parser.getName())) {
books.commentCount = parser.nextText();
} else if ("author".equals(parser.getName())) {
books.author = parser.nextText();
} else if ("authorid".equals(parser.getName())) {
books.authorid = parser.nextText();
} else if ("pubDate".equals(parser.getName())) {
books.pubDate = parser.nextText();
} else if ("newstype".equals(parser.getName())) {
if ("type".equals(parser.getName())) {
books.newstype.type = parser.nextText();
} else if ("authoruid2".equals(parser.getName())) {
books.newstype.authoruid2 = parser.nextText();
}
}
}
break;
case XmlPullParser.END_TAG:// 结束解析元素
// 判断是不是 Book
if ("news".equals(parser.getName())) {
nList.add(books);
}
break;
case XmlPullParser.END_DOCUMENT:// 结束接收文件
break;
default:
break;
}
type_pull = parser.next();
}
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}