sax解析雅虎天气api
1.雅虎天气api:
String url2 = "http://sugg.us.search.yahoo.net/gossip-gl-location/?appid=weather&output=xml&command=%E5%8C%97%E4%BA%AC";
command是查询城市的名称,中英文皆可
xml文件显示如下:
2.获取String类型的xml文件
String xml = HttpUtils.getStringByUrl(url2);
GlobalConstant.i("url2-->" + xml);
tvShow.setText(xml);
public static String getStringByUrl(String url) {String outputString = "";DefaultHttpClient httpclient = new DefaultHttpClient();HttpGet httpget = new HttpGet(url);ResponseHandler<String> responseHandler = new BasicResponseHandler();try {outputString = httpclient.execute(httpget, responseHandler);} catch (Exception e) {GlobalConstant.i("http连接失败---->" + e);e.printStackTrace();}httpclient.getConnectionManager().shutdown();return outputString;}
3.开始sax解析
SSaxParese.weatherParese(xml);/*** * sax解析xml文件* @param weaUrl* @return 天气类*/public static WeatherBean weatherParese(String weaUrl) {SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();WeatherBean weatherBean = new WeatherBean();try {XMLReader xmlReader = saxParserFactory.newSAXParser().getXMLReader();WeatherXMLHandler handler = new WeatherXMLHandler();xmlReader.setContentHandler(handler);xmlReader.parse(new InputSource(new StringReader(weaUrl)));} catch (Exception e) {e.printStackTrace();GlobalConstant.i("sax解析error-->" + e);}return weatherBean;}
4.具体解析sax的内容处理器
public class WeatherXMLHandler extends DefaultHandler {WeatherBean weatherBean;/*** 构造方法*/public WeatherXMLHandler() {super();}private WeatherXMLHandler(WeatherBean weatherBean) {this.weatherBean = weatherBean;}@Overridepublic void startDocument() throws SAXException {// TODO Auto-generated method stubsuper.startDocument();GlobalConstant.i("文档解析开始");}@Overridepublic void endDocument() throws SAXException {// TODO Auto-generated method stubsuper.endDocument();GlobalConstant.i("文档解析结束");}@Overridepublic void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {// TODO Auto-generated method stubsuper.startElement(uri, localName, qName, attributes);GlobalConstant.i("element begin--->");if (qName.equals("m")) {
// GlobalConstant.i("value--->" + attributes.getValue("q"));}if (qName.equals("s")) {GlobalConstant.i("k--->" + attributes.getValue("k"));GlobalConstant.i("d--->" + attributes.getValue("d"));}}@Overridepublic void endElement(String uri, String localName, String qName)throws SAXException {// TODO Auto-generated method stubsuper.endElement(uri, localName, qName);GlobalConstant.i("element end--->");}
}
sax解析雅虎天气api相关推荐
- php解析和风天气api,API爬取天气预报数据
API爬取天气预报数据 """ 该网站为个人开发者提供免费的天气预报数据,自行访问官网注册,在控制台看到个人的key. 然后看API文档,基本可以开发了,有访问次数限制. ...
- 在asp.net中 利用雅虎天气API做天气预报功能
出处:http://dotnet.cnblogs.com/page/42993/?page=1 这个功能 主要参考以上文章,同时本人又添加了中文天气显示 和天气图片显示. 雅虎天气的API 详细介绍 ...
- android 解析雅虎天气
2019独角兽企业重金招聘Python工程师标准>>> 获取yahoo天气的woeid: http://query.yahooapis.com/v1/public/yql?q=sel ...
- java解析json天气api,免费天气API,全国天气 JSON API接口,可以获取五天的天气预报...
稳定高效的天气API接口是很少有的,本站前一段时间开发了一个万年历,需要带天气预报,花了几天功夫,集成和容错处理好对外开放的天气接口.天气接口支持返回 JSON 和 XML 结果.并且可以获 ...
- java解析json天气api,使用Postman获取天气接口API(Json格式)
一.接口URL http://wthrcdn.etouch.cn/weather_mini 二.请求参数 参数名称 类型 是否必须 说明 province string 1 对应哪个省 city st ...
- 雅虎天气API使用笔记
查询时base_url: https://query.yahooapis.com/v1/public/yql?q= , 公共查询接口,有限制查询次数 https://query.yahooapis.c ...
- 雅虎天气API 多语言参数
在URL后面添加 &lang=ru-ru 此即为申请返回结果为俄语的数据, ra-ra即阿拉伯语结果 zh-cn即为中文结果
- 【Arduino】【ESP】使用Arduino(ESP8266版本)获取雅虎天气信息,并使用点阵显示......进行中
最近想用Arduino联网查询天气,用点阵显示.最开始使用2560配合网络模块,后来发现了Esp8266也能当做一个带有Wifi的arduino板(关键是便宜啊!有时间再鼓捣,目前就是刷了ESPEas ...
- 使用雅虎的API便捷的创建天气预报程序
在这篇自学材料的帮助下,你将学会使用雅虎的天气API来获取和显示天气预报. 最终结果显示 让我们来先看下最终结果: 第一步:创建一个新文件 我猜想你会使用Flash IDE,尽管你也能用Flex或标准 ...
最新文章
- python中 .sort()、 sorted()和 .reverse() 、reversed()的区别
- pycharm与github相配置连接(上传、删除、更新项目)
- 15. 3Sum_左右开工,遍历找出符合目标的数字
- python-反射基础-hasattr-getattr-setattr
- 07_Redis事务
- 添加控制器 提示找到不到上下文_JS局部上下文和全局上下文
- echarts折线图y轴根据数值自动_R语言基础绘图教程——第3章:折线图和带状图...
- [汇编语言计算机原理] 带开机音乐,速度、进度和行驶方向显示的出租出计费系统设计
- HDU_2156 分数矩阵
- debian网络配置文件的写法
- 2016 ECCV论文 《Peak-Piloted Deep Network for Facial Expression Recognition》
- 函数计算机显示RAD,计算器rad是什么意思
- 带有拉普拉斯平滑的Naive Bayes python代码实现
- 输出dom对象的HTML,console 输出 DOM 对象
- 部分主元法求解线性方程组
- 【Matlab】数据插值
- javamail发送邮件到qq邮箱图片不能显示问题
- 计算机毕业是先就业还是考研,先工作还是先考研?这些专业更适合先就业
- USB 协议整理 九:USB 协议调试工程说明
- linux sd卡驱动流程图,SD卡驱动(详细介绍,不明白的人可以仔细看看了.有流程图)-转-OpenEdv-开源电子网...
热门文章
- 求两个整数的最大公约数和最小公倍数
- 【Unity Shader】2020-04-21-崩三卡通渲染
- [转]BEHAVOUR TREE2
- dnf服务器未响应怎么解决方法,DNF未响应的原因分析与解决方法
- dorado是什么?
- 如何更改图片分辨率?在线修改分辨率的方法分享
- 用PD线连接android和iphone,使用C-A转接头+A-L线能让iPhone USB PD快充吗?
- 齐鲁工大青年论坛“体感与移动应用开发”举办
- java删除某些段落word_Java 添加、回复、修改(替换)、删除、读取Word批注
- 体验 Gitea Actions