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中的 ...
随机推荐
- Java线程池之ThreadPoolExecutor
前言 线程池可以提高程序的并发性能(当然是合适的情况下),因为对于没有线程的情况下,我们每一次提交任务都新建一个线程,这种方法存在不少缺陷: 1. 线程的创建和销毁的开销非常高,线程的创建需要时间, ...
- 斐波那契数列—Java
斐波那契数列想必大家都知道吧,如果不知道的话,我就再啰嗦一遍, 斐波那契数列为:1 2 3 5 8 13 ...,也就是除了第一项和第二项为1以外,对于第N项,有f(N)=f(N-1)+f(N-2). ...
- 表单校验demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- .net分布式压力测试工具(Beetle.DT)
肯定有人会问为什么会写这样一个开源工具?和现有的有什么差别?不过对于一个程序员来说写东西还真不需要理由的:),主要原因是工作有点闲(开玩笑),不过说实话一个程员怎可能会停止写代码呢(作为一个奔4的程序 ...
- mysql的索引问题分析
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; color: #454545 } span. ...
- 分享一个 jmeter ant的build.xml
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-t ...
- flex弹性布局学习
一.介绍 flex( flexible box:弹性布局盒模型),是2009年w3c提出的一种可以简洁.快速弹性布局的属性.主要思想是给予容器控制内部元素高度和宽度的能力.目前已得到以下浏览器支持: ...
- Java企业微信开发_09_素材管理之下载微信临时素材到本地服务器
一.本节要点 1.获取临时素材接口 请求方式:GET(HTTPS) 请求地址:https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=AC ...
- 通过业务系统的重构实践DDD
最近新接了一个业务系统——社区服务系统,为了快速熟悉和梳理老系统的业务逻辑和代码,同时对老系统代码做一些优化,于是打算花上一个月时间不间断地对老系统服务进行重构.同时,考虑到社区业务的复杂性,想起了之 ...
- CSS文本效果
前面的话 本文将详细介绍CSS文本效果 凸版印刷效果 这种效果尤其适用于中等亮度背景配上深色文字的场景:但它也可用于深色底.浅色字的场景,只要文字不是黑色并且背景不是纯黑或纯白就行 [浅色背景深色文本 ...