xml解析案例
步骤:Channel是java bean类
public static List<Channel> parsexml(InputStream inputStream) {//注意服务器种是以流的形式返回数据的。
//0声明集合对象和java bean对象
List<Channel>weatherList = null;
Channel channel = null;
//1获取XmlPullParser 解析的实例
XmlPullParser parser = Xml.newPullParser();
try {
//2设置XmlPullParser 的参数
parser.setInput(inputStream,"utf-8");
//3获取事件类型
int eventType = parser.getEventType();
//4循环解析并存储
while(eventType!=XmlPullParser.END_DOCUMENT){
switch (eventType) {
case XmlPullParser.START_TAG://解析开始的标签
//5具体判断解析到哪一个标签
if ("weather".equals(parser.getName())) {
//6实例化一个集合对象
weatherList = new ArrayList<>();
} else if ("channel".equals(parser.getName())) {
//7實例化一个java bean对象
channel = new Channel();
//8获取id值并且保存
String id = parser.getAttributeValue(0);
channel.setId(id);
} else if ("city".equals(parser.getName())) {
//9获取city值并且保存
try {
String city = parser.nextText();
channel.setCity(city);
} catch (IOException e) {
e.printStackTrace();
}
}else if ("temp".equals(parser.getName())) {
//10获取city值并且保存
try {
String temp = parser.nextText();
channel.setTemp(temp);
} catch (IOException e) {
e.printStackTrace();
}
}else if ("wind".equals(parser.getName())) {
//11获取city值并且保存
try {
String wind = parser.nextText();
channel.setWind(wind);
} catch (IOException e) {
e.printStackTrace();
}
}else if ("pm250".equals(parser.getName())) {
//12获取city值并且保存
try {
String pm250 = parser.nextText();
channel.setPm250(pm250);
} catch (IOException e) {
e.printStackTrace();
}
}
break;
case XmlPullParser.END_TAG://结束标签
if ("channel".equals(parser.getName())) {
//把javabean对象存到集合中
weatherList.add(channel);
}
break;
}
//不停的向下解析
try {
eventType = parser.next();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return weatherList;
}
xml解析案例的更多相关文章
- 用DOM4J解析XML文件案例
用DOM4J解析XML文件案例,由于DOM4J不像JAXP属于JAVASE里,所以如果要使用DOM4J,则必须额外引入jar包,如图:
- JSON解析和XML解析对比
JSON解析和XML解析是较为普遍的两种解析方式,其中JSON解析的市场分额更大.本文系统的分析两种解析方式的区别,为更好地处理数据作准备.由于目前阶段主要是做移动开发,所以本文所描述的JSON解析和 ...
- JavaEE:XML解析
XML解析技术概述1.XML 技术主要企业应用1)存储和传输数据 2)作为框架的配置文件2.使用xml 存储和传输数据涉及到以下两点1)通过程序生成xml2)读取xml 中数据 ---- xml 解析 ...
- 深入解读XML解析
一.XML是什么?有什么用? XML是指.作为配置文件存在 二.XML的基本语法 1.文档声明:很重要 在编写XML文档时,需要先使用文档声明来声明XML文档.且必须出现在文档的第一行. 作用:告知解 ...
- Java基础-处理json字符串解析案例
Java基础-处理json字符串解析案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 作为一名开发人员,想必大家或多或少都有接触到XML文件,XML全称为“extensible ...
- 5月3日上课笔记-XML解析
一.XML编程 1.xml编程的两种解析方式 1.1 dom解析 优点:一次加载,多次使用.可以方便的对xml文档进行增删改查 缺点:如果xml文档过大的话,加载的时候会比较占用内存空间比较大,消耗资 ...
- pull解析案例
此pull解析案例是eclipes的对不对,不知道, private void getXml() { try { InputStream is = getAssets().open("new ...
- - XML 解析 总结 DOM SAX PULL MD
目录 目录 XML 解析 总结 DOM SAX PULL MD 几种解析方式简介 要解析的内容 DOM 解析 代码 输出 SAX 解析 代码 输出 JDOM 解析 代码 输出 DOM4J 解析 代码 ...
- xml解析技术
本文总结Dom,sax解析, 使用Java作为工具解析xml文档. 1 Dom 综述:Dom解析xml通常也称为xmlDom (和htmlDom技术差不多),将xml文档封装成树,好处就是xml中的 ...
随机推荐
- 8.23.4 IO-输入输出16个流
字节流: FileInputStream FileInputStream fIn = new FileInputStream("1.avi"); FileOutputStrea ...
- 7.11.3 Java简介
101Java简介 101Java简介及开发环境搭建 Java简介 编程语言简介 机器语言:纯粹的机器代码 机器语言是有0,1,0,1的二进制代码组成,可以有计算机直接执行.效率最高,但是通用性不强, ...
- 极极极极极简的的增删查改(CRUD)解决方案
去年这个时候写过一篇全自动数据表格的文章http://www.cnblogs.com/liuyh/p/5747331.html.文章对自己写的一个js组件做了个概述,很多人把它当作了一款功能相似的纯前 ...
- Spring事务管理——其他的事务属性
之前我们说过Spring事务管理中的事务的传播行为的属性.下面我们来说一下它的其他属性. 一.事务的隔离级别 1 .数据库事务并发问题.假设现在有两个事务:Transaction01和Transact ...
- ABP从入门到精通(6):快速重命名解决方案
SolutionRenamer SolutionRenamer 是一个解决方案快速重命名工具.经测试重命名一个全新asp.net zero core项目(ABP asp.net zero,.net c ...
- Java Spring的简单见解
Spring的注解特性,IOC控制反转 首先了解依赖注入是什么,就是在实例化对象的时候并不需要每次都new对象出来,spring管理对象,在你配置been或者@service时候 Spring会自动帮 ...
- 很全面的Android面试题
Activity 什么是Activity 四大组件之一,一个和用户交的互界面就是一个activity,是所有 View 的容器 我开发常用的的有FragmentActivitiy,ListActivi ...
- 那些年,我们不懂的却又不得不提的 JAVA异常和异常处理!
---恢复内容开始--- 首先,我是个小小的菜鸟,最近突然突发奇想,想研究一下java的异常和异常的处理,稍有些理解,老鸟们莫要嘲笑... 既然要讲异常和异常的处理,我们就要先了解异常,那么,什么是异 ...
- none,hidden和opacity="0"设置元素不可见的区别
none,hidden和opacity="0"均可设置元素为不可见的状态.其中none属于display的属性值,hidden属于visibility的属性值.使用none时元素不 ...
- !Web云笔记--HTML基础
Web自学笔记第一阶段笔记综合汇总 参考资料:<Head First HTML&CSS>(中文第二版)(美国)弗里昂ISBN:9787508356464 中国电力出版社 全部阶段: ...