需求:标题其实就很清楚了,具体点就是用HTTP请求Google天气预报API,得到的是一个标准XML文件,XML文件中包含的就是我们所需要的天气数据,这时我们就是解析这个XML文档得到天气数据了。
访问Google天气预报:
http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996
30670000为纬度,104019996为经度,这个是把上面的xml中的经纬度乘以了10^6(10的六次方),这个方法有个好处,就是可以根据经纬度获得天气预报,自然预报地区也可变得精确些。
访问上面的链接,google返回的xml内容如下:
从这个XML文件中我们可以知道:<forecast_information>是预测的相关信息,<current_conditions>则是当前经纬度天气情况,<forecast_conditions>预测的天气情况,其中节点1就是今天的天气预测气象,后面包含了预测的后三天天气气象。
基本情况了解后,就开始编码了。
代码如下:
获取天气信息
解析XML文件获取天气信息:
读取XML文件开始元素到结束元素:
这里我把要获取的天气数据封装为一个实体weather,只是获取的是当前经纬度的天气气象,对当天和预测的三天天气气象没做详细封装,根据自己需要可以自行进行封装。好了,操作就完成了。