android天气预报、数据的处理
在写android天气预报程序的过程中用到google weather api,而用sax 解析xml文件得到的数据是英文的,这里就出现了数据的转化显示问题。
例如:查询武汉的天气http://www.google.com/ig/api?weather=wuhan得到的xml数据为: <?xml version="1.0" ?>
- <xml_api_reply version="1">
- <weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0">
- <forecast_information>
<city data="Wuhan, Hubei" />
<postal_code data="wuhan" />
<latitude_e6 data="" />
<longitude_e6 data="" />
<forecast_date data="2011-09-09" />
<current_date_time data="2011-09-09 21:00:00 +0000" />
<unit_system data="SI" />
</forecast_information>
- <current_conditions>
<condition data="多云" />
<temp_f data="72" />
<temp_c data="22" />
<humidity data="湿度: 78%" />
<icon data="/ig/images/weather/cn_cloudy.gif" />
<wind_condition data="风向: 东北、风速:4 米/秒" />
</current_conditions>
+ <forecast_conditions>
- <forecast_conditions>
<day_of_week data="周六" />
<low data="20" />
<high data="29" />
<icon data="/ig/images/weather/chance_of_rain.gif" />
<condition data="可能有雨" />
</forecast_conditions>
- <forecast_conditions>
<day_of_week data="周日" />
<low data="22" />
<high data="29" />
<icon data="/ig/images/weather/chance_of_storm.gif" />
<condition data="可能有暴风雨" />
</forecast_conditions>
- <forecast_conditions>
<day_of_week data="周一" />
<low data="23" />
<high data="31" />
<icon data="/ig/images/weather/chance_of_storm.gif" />
<condition data="可能有暴风雨" />
</forecast_conditions>
</weather>
</xml_api_reply>
而用sax解析后得到的数据为:
Wuhan, Hubei
Overcast (代表多云)
2011-09-09 23:00:00 +0000
Fri (代表周五)
Wind: NE at 9 mph(表示风向和风速)
Humidity: 87%(表示湿度)
用于显示则需要进行相应的转化。现把我的转化代码贴出来,希望能惠及大众。
package com.xiaoshuai.util;
import java.util.regex.Matcher;
相关新闻>>
- 发表评论
-
- 最新评论 更多>>