用pull解析XML
来源:互联网 发布:浙江省进出口贸易数据 编辑:程序博客网 时间:2024/06/08 00:15
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();
}
0 0
- 用pull解析XML
- 用PULL解析器解析XML文件
- 用PULL解析器解析XML文件
- XML解析Pull解析
- XML解析---PULL解析
- 用pull解析器 生成xml文件
- Android 用Pull方法解析XML文件
- android 用pull解析xml文件
- android 用pull解析xml的错误~!!
- android用pull解析xml文件
- XML的pull解析
- Pull解析XML文件
- Pull详解解析xml
- Pull解析Xml方式
- Android Pull解析xml
- pull解析xml
- xml解析(PULL)
- Pull 解析xml
- 2016"百度之星" - 资格赛(Astar Round1)Problem A B C D--java代码
- 顺序查找
- 打字练习
- c语言判断日期是否合法的函数(改进版)
- 使用 Virtual Machine Manager 管理虚拟机
- 用pull解析XML
- Andoird自定义ViewGroup实现竖向引导界面
- [DFS] [优化-枚举] 部落种族 (race)
- C++虚基类的内存布局(下)
- eclipse启动tomcat中出现java.lang.OutOfMemoryError: PermGen space 解决办法
- android中正确导入第三方jar包
- 在Java中,final修饰符要如何使用?
- Bitmap了解和尝试压缩
- Python正则表达式指南