- 浏览: 284952 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
onlyjing:
你好!我是猎头顾问only ,有北京知名网络安全公司高级web ...
python:web搭建 -
dr88:
有时间也来做一个,谢谢分享
Wordpress自动采集更新、发布文章插件AutoBlogged2.578最新破解版 -
Ryee:
百度赚钱依靠页面看来承载广告,所以1、增加页面2、提升单位页面 ...
百度如何赚钱 -
jeans_1312:
路过,学习一下
Wordpress自动采集更新、发布文章插件AutoBlogged2.578最新破解版 -
Ryee:
坚持喝了一周的红豆薏米汤,适当的运动量辅助排汗,湿气除的不错。 ...
夏季南方去体内湿气-养生方法
yahoo天气预报的url是http://weather.yahooapis.com/forecastrss?w=2151330&u=c参数w对应各个地方在yahoo数据库中的
WOEID,如北京的WOEID是2151330,目前也可以用参数p来代替w,不过官方还是推荐用w,p是计划要被取消的。参数u用于确定温度的单位(c是摄氏度f是华氏度)。对于中国(国外没比较)的天气查询来说,yahoo相对无论从能查到的地方还是预报的内容都是比较全的。
详细的API文档:http://developer.yahoo.com/weather/
请求xml
var url:String = "http://weather.yahooapis.com/forecastrss" + "?w=" + (location number) + "&u=" + ("c" 摄氏温度或者 "f" 华氏温度);
获取地址编号
地址编号必须是一个WOEID,你可以通过雅虎的天气预报首页查询你需要的地址编号。这个编号在
你想要的那个城市天气预报页的URL中。你也可以通过在首页中输入你的邮政编码查询WOEID。例如,你想查询洛杉矶的天气情况,这个城市的天气预报页的URL是
http://weather.yahoo.com/united-states/california/los-angeles-2442047/,所以它的WOEID是2442047.
理解xml
当你请求任何地方的天气情况时,你会接收到如下结构的xml:
<rss version="2.0" xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <channel> <title>Yahoo! Weather - Los Angeles, CA</title> <link>http://us.rd.yahoo.com/dailynews/rss/weather/Los_Angeles__CA/*http://weather.yahoo.com/forecast/USCA0638_c.html</link> <description>Yahoo! Weather for Los Angeles, CA</description> <language>en-us</language> <lastBuildDate>Mon, 01 Mar 2010 5:47 am PST</lastBuildDate> <ttl>60</ttl> <yweather:location city="Los Angeles" region="CA" country="United States"/> <yweather:units temperature="C" distance="km" pressure="mb" speed="km/h"/> <yweather:wind chill="12" direction="0" speed="0" /> <yweather:atmosphere humidity="80" visibility="16.09" pressure="1018.4" rising="1" /> <yweather:astronomy sunrise="6:22 am" sunset="5:49 pm"/> <image> <title>Yahoo! Weather</title> <width>142</width> <height>18</height> <link>http://weather.yahoo.com</link> <url>http://l.yimg.com/a/i/us/nws/th/main_142b.gif</url> </image> <item> <title>Conditions for Los Angeles, CA at 5:47 am PST</title> <geo:lat>34.05</geo:lat> <geo:long>-118.25</geo:long> <link>http://us.rd.yahoo.com/dailynews/rss/weather/Los_Angeles__CA/*http://weather.yahoo.com/forecast/USCA0638_c.html</link> <pubDate>Mon, 01 Mar 2010 5:47 am PST</pubDate> <yweather:condition text="Fair" code="33" temp="12" date="Mon, 01 Mar 2010 5:47 am PST" /> <description><![CDATA[> <img src="http://activetuts.s3.amazonaws.com/tuts/093_weather/Tutorial/http://l.yimg.com/a/i/us/we/52/33.gif"/><br /> <b>Current Conditions:</b><br /> Fair, 12 C<BR /> <BR /><b>Forecast:</b><BR /> Mon - Mostly Cloudy. High: 20 Low: 10<br /> Tue - AM Clouds/PM Sun. High: 19 Low: 9<br /> <br /> <a href="http://us.rd.yahoo.com/dailynews/rss/weather/Los_Angeles__CA/*http://weather.yahoo.com/forecast/USCA0638_c.html">Full Forecast at Yahoo! Weather</a><BR/><BR/> (provided by <a href="http://www.weather.com" >The Weather Channel</a>)<br/> ]]></description> <yweather:forecast day="Mon" date="1 Mar 2010" low="10" high="20" text="Mostly Cloudy" code="28" /> <yweather:forecast day="Tue" date="2 Mar 2010" low="9" high="19" text="AM Clouds/PM Sun" code="30" /> <guid isPermaLink="false">USCA0638_2010_03_01_5_47_PST</guid> </item> </channel> </rss><!-- api7.weather.re4.yahoo.com compressed/chunked Mon Mar 1 06:59:00 PST 2010 -->
解析xml
现在你已经对这个xml有了更好的理解了,我们现在需要做的就是将这些数据指派给变量,然后用这些数据去创建我们的应用程序。
因此我们需要创建一些变量来加载XML。下面是代码(把这些代码放在你的文档类的相关地方)。
//This is going to contain all the data from the XML 包含xml的所有数据 private var _xmlData:XML; //This is going to be the url of the XML that we will load xml加载地址 private var _xmlURL:String; private function loadXML(xmlURL:String):void { var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest(_xmlURL); loader.load(request); loader.addEventListener(Event.COMPLETE, loadData); } private function loadData(event:Event):void { _xmlData = new XML(event.currentTarget.data); var yweather:Namespace = new Namespace("http://xml.weather.yahoo.com/ns/rss/1.0"); var day:String = _xmlData.channel.item.yweather::forecast[0].@day; var codeToday:String = _xmlData.channel.item.yweather::forecast[0].@code; var codeTomorrow:String = _xmlData.channel.item.yweather::forecast[1].@code; }
你需要把_xmlData定义到所有方法外面(即定义成成员变量),因为你在代码的任何地方都用到它,不仅仅在一个方法中。
第一个方法loadXML(),加载xml文件到Flash中;我们使用事件监听来检查xml是否加载完成,在加载完成后运行 loadData()。
loadData()方法将接收到的xml数据保存在_xmlData变量中。我们使用namespace因为雅虎决定创建他们自己的XML(你可以在livedocs.adobe.com找到更多关于命名空间的信息)。
其他的变量用于在程序中显示信息。
(想知道更多关于AS3解析xml的信息,请看Dru Kepple的AS3:101 – XML 自学材料。)
发表评论
-
零售运营卓越性调研成果
2011-11-30 09:43 1412著名咨询公司科尔尼的【零售运营卓越性调研成果】,很有质量的一篇 ... -
Wordpress自动采集更新、发布文章插件AutoBlogged2.578最新破解版
2010-12-06 17:00 3587Wordpress自动采集更新、发布文章插件AutoB ... -
wordpress投稿插件
2010-11-16 10:29 1390查过好多投稿插件。最终发现了两个插件:submit posts ... -
与时俱进的草根网站
2010-10-08 11:49 837解鹏辉是典型的 ... -
python:web搭建
2010-09-17 15:22 1200使用web framework非常简单、快速的搭建python ... -
成功是一种习惯
2010-08-19 09:15 813从哈佛管理世界中看到这样一篇小文,感觉非常不错,拿来与 ... -
web分析
2010-08-02 09:51 900我们平常在看网站分析 ... -
Creating a 3-tiered SEO Department
2010-07-22 13:57 800Search Engine Optimization i ... -
搜索引擎优化外包业务流程(outsourcing for SEO)
2010-07-19 11:09 1317SEO(search engine optimization) ... -
浅谈对赌
2010-07-05 11:36 774所谓对赌,往往是约定一定的业绩增幅,如果达到则风投输给创业团队 ... -
Velocity简介
2010-07-01 15:22 1005Velocity是一个开放源吗 ... -
龙卷风网络收音机v2.6绿色版
2010-07-01 13:40 1182龙卷风网络收音机 v2.6绿色版 ★增强数据管理 ... -
discuz!x1.0二次开发 教你识别程序目录和文件列表(续)
2010-06-28 17:58 2615| — template — default ... -
discuz!x1.0二次开发 教你识别程序目录和文件列表
2010-06-28 17:57 1613作为一款以社区为基础的专业建站平台,Discuz! X1社区平 ... -
discuz!x1.0二次开发 教你识别程序目录和文件列表
2010-06-28 17:55 2141作为一款以社区为基础 ... -
DZX伪静态httpd.ini文件
2010-06-22 13:53 2006discuz X1 有些服务器空间不支持.htaccess, ... -
Fatal error:memory size exhausted(install_function.php)
2010-06-19 13:47 1258discuz安装完成后登陆网站,白板问题? 只能看到登录窗口, ... -
short_open_tag设置方法
2010-06-19 12:43 3609从服务器上down下来uchome程序,准备测试修改用,可是说 ... -
.htaccess使用指南
2010-06-18 11:48 785Apache服务器的.htaccess是 ... -
开放的API我们将如何前行
2010-06-03 09:24 1075现在的互联网充满了一 ...
相关推荐
雅虎天气API是一个流行的API,允许开发者获取关于全球各地天气的实时信息。本文将深入探讨如何利用雅虎天气API来获取数据,并通过JSON格式解析这些数据。 首先,雅虎天气API提供了关于天气的各种信息,包括温度、...
雅虎天气API调用是开发人员获取实时天气信息的一种方式,它允许开发者通过发送特定的请求到雅虎的服务器,然后获取返回的JSON或XML格式的天气数据。这个API广泛应用于移动应用、网站或者任何需要集成天气信息的系统...
通过以上知识点的学习和实践,开发者可以创建出一款类似雅虎天气预报WIDGET的应用,为用户提供实时、准确的天气信息。对于初学者来说,这是一个很好的项目,可以帮助他们深入理解Android开发和Weather API的使用。而...
总的来说,【天气预报程序】是通过集成雅虎天气API和VC的编程能力,创建了一个实用的天气查询工具。它体现了网络通信、数据解析和用户界面设计等多个方面的编程技巧,对于学习和理解这些技术具有很高的实践价值。
【Android天气预报实例】是一个基于Java编程语言和Android操作系统开发的应用程序示例,它利用了雅虎提供的天气API来获取实时的气象数据。这个实例展示了如何在Android平台上构建一个功能完善的天气应用,其中包括...
【天气预报实例】是一个利用雅虎天气API创建的项目,主要展示了如何通过AJAX、jQuery和JSONP技术实现一个三级联动的天气预报功能。这个实例对于初学者来说是一个很好的学习资源,可以帮助他们理解和掌握相关技术。 ...
2. 旅游规划:结合地图服务,可以创建一个旅行规划工具,为用户提供目的地的实时天气预报,帮助他们更好地规划行程。 3. 农业管理:农民可以利用这个API监测田间气候,以便调整种植策略,减少农作物受极端天气的...
这些信息对于开发天气相关的应用或服务非常有用,比如制作天气预报网站、移动应用或者集成到智能家居系统中,提供实时的天气信息。同时,理解如何解析XML数据也是开发者必备的技能之一,因为XML作为一种通用的数据...
综上所述,这个压缩包提供的是一种整合了雅虎天气服务的Enigma2插件,专为Swan Black皮肤设计,让用户在享受美观界面的同时,也能轻松获取全球各地的实时天气预报。通过安装和配置包含的城市代码,用户可以自定义...
至于“雅虎天气预报”,开发者很可能使用了雅虎的开放API来获取天气数据。雅虎天气API允许开发者通过发送HTTP请求获取特定地点的天气信息,如温度、湿度、风速等。这些数据通常以JSON格式返回,然后在Java程序中解析...
雅虎API的使用需要遵循其服务条款,确保合法合规地使用数据。 其次,**Android开发** 是移动应用开发的主要平台之一。在这个项目中,我们需要创建一个Android应用程序,可能是一个简单的天气查询应用。在Android中...
它巧妙地利用了雅虎天气API来提供用户友好的界面,显示当前和未来的天气状况。这款应用的名字“Vaanilai”在泰米尔语中意为“天气”,这表明其功能与名称完美契合,为泰米尔语地区的用户提供便利。 雅虎天气API是一...
在VB.NET环境下,我们可以利用这个API来创建一个天气应用,帮助用户获取所需地区的天气预报。 **RSS 文件与序列化** RSS 是一种用于发布和订阅信息的XML格式,通常用于新闻聚合或内容更新通知。在Yahoo Weather ...
【标题】:“Yahoo天气API示例项目” 这个项目名为“Yahoo_...通过分析这个项目,我们可以学习到如何利用API获取和处理外部数据,以及如何构建一个简单的天气预报应用,这对于提升Web开发和API交互的能力非常有帮助。
通过HTML(超文本标记语言)编写网页,开发者可以创建一个交互式的界面,用户可以在地图上选择位置,然后该位置的天气信息会从雅虎天气API请求并显示出来。这展示了Web开发中的AJAX(异步JavaScript和XML)技术,...
2. **API接口使用**:雅虎天气应用获取数据通常依赖于天气API,如雅虎的Weather API或者开放天气地图等。开发者需要理解如何请求和解析JSON或其他数据格式来获取和展示天气信息。 3. **UI/UX设计**:模仿雅虎天气...
开发者可以通过运行这些测试来确保从雅虎API获取数据和解析数据的逻辑没有问题。 总的来说,这个项目涵盖了Android开发中的多个关键概念,包括网络请求、数据解析、服务以及可能的进程间通信。对于想要了解如何在...
本文将深入探讨一个使用Visual Basic(VB)编程语言开发的天气预报系统,该系统能够获取并显示雅虎天气资源,帮助用户轻松获取最新的气象信息。 一、VB与天气预报系统的结合 Visual Basic,作为Microsoft公司推出...
这个示例可能包括了实时天气数据以及天气预报的获取方法。 在描述中提到,“获取天气信息 带预报 含有源码”,这表明该示例不仅能够获取当前的天气状况,还能够获取未来几天的天气预报。更重要的是,它提供了完整的...
由于AJAX(Asynchronous JavaScript and XML)在处理跨域请求时存在限制,尤其是在非IE浏览器中,开发者创建了一个简单的ASP Web Service来作为代理,抓取并返回雅虎天气预报的数据。这个Web Service主要的功能是从...