![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /************************************************************************/
2 /* 作者:ericjhuang */
3 /* 时间:2011年1月3日 15:34:38 */
4 /************************************************************************/
5 #ifndef _YAHOOWEATHER_H_
6 #define _YAHOOWEATHER_H_
7
8 typedef struct
9 {
10 //风
11 int wind_chill;
12 int wind_direction;
13 float wind_speed;
14 //大气
15 int atmosphere_humidity;
16 int atmosphere_visibility;//可见度
17 float atmosphere_pressure;
18 int atmosphere_rising;
19 //日升日落
20 SYSTEMTIME astronomy_sunrise;
21 SYSTEMTIME astronomy_sunset;
22 }YahooWeatherData;
23
24 class YahooWeather
25 {
26 public:
27 /************************************************************************/
28 /* 函数功能:根据城市名称获取天气信息 */
29 /************************************************************************/
30 YahooWeatherData getWeather(CString cityName);
31 /************************************************************************/
32 /* 函数功能:处理接收到的天气XML数据 */
33 /************************************************************************/
34 void processXMLData(CString data,YahooWeatherData* m_WeatherData);
35 /************************************************************************/
36 /* 函数功能:根据结点名称,获取节点属性字符串 */
37 /************************************************************************/
38 CString getNodeProperties(CString data,CString nodeName);
39 /************************************************************************/
40 /* 函数功能:根据""字符串匹配返回字符串集 */
41 /************************************************************************/
42 CStringArray* getNodeValues(CString nodeString);
43 /************************************************************************/
44 /* 函数功能:将字符串转换成日期 */
45 /************************************************************************/
46 BOOL StringToDate(LPCTSTR lpszValue, SYSTEMTIME &time);
47
48 };
49 #endif
2 /* 作者:ericjhuang */
3 /* 时间:2011年1月3日 15:34:38 */
4 /************************************************************************/
5 #ifndef _YAHOOWEATHER_H_
6 #define _YAHOOWEATHER_H_
7
8 typedef struct
9 {
10 //风
11 int wind_chill;
12 int wind_direction;
13 float wind_speed;
14 //大气
15 int atmosphere_humidity;
16 int atmosphere_visibility;//可见度
17 float atmosphere_pressure;
18 int atmosphere_rising;
19 //日升日落
20 SYSTEMTIME astronomy_sunrise;
21 SYSTEMTIME astronomy_sunset;
22 }YahooWeatherData;
23
24 class YahooWeather
25 {
26 public:
27 /************************************************************************/
28 /* 函数功能:根据城市名称获取天气信息 */
29 /************************************************************************/
30 YahooWeatherData getWeather(CString cityName);
31 /************************************************************************/
32 /* 函数功能:处理接收到的天气XML数据 */
33 /************************************************************************/
34 void processXMLData(CString data,YahooWeatherData* m_WeatherData);
35 /************************************************************************/
36 /* 函数功能:根据结点名称,获取节点属性字符串 */
37 /************************************************************************/
38 CString getNodeProperties(CString data,CString nodeName);
39 /************************************************************************/
40 /* 函数功能:根据""字符串匹配返回字符串集 */
41 /************************************************************************/
42 CStringArray* getNodeValues(CString nodeString);
43 /************************************************************************/
44 /* 函数功能:将字符串转换成日期 */
45 /************************************************************************/
46 BOOL StringToDate(LPCTSTR lpszValue, SYSTEMTIME &time);
47
48 };
49 #endif
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /************************************************************************/
2 /* 作者:ericjhuang */
3 /* 时间:2011年1月3日 15:34:38 */
4 /************************************************************************/
5 #ifndef _WEATHER_H_
6 #define _WEATHER_H_
7
8 typedef struct
9 {
10 CString conditiondata;
11 int temp_f;
12 int temp_c;//温度
13 float humiditydata;//湿度百分比
14 CString wind_conditiondata;//风
15 }WeatherData;
16
17 class GoogleWeather
18 {
19 public:
20 /************************************************************************/
21 /* 函数功能:根据城市名称获取天气信息 */
22 /************************************************************************/
23 WeatherData getWeather(CString cityName);
24 /************************************************************************/
25 /* 函数功能:处理接收到的天气XML数据 */
26 /************************************************************************/
27 void processXMLData(CString data,WeatherData* m_WeatherData);
28 };
2 /* 作者:ericjhuang */
3 /* 时间:2011年1月3日 15:34:38 */
4 /************************************************************************/
5 #ifndef _WEATHER_H_
6 #define _WEATHER_H_
7
8 typedef struct
9 {
10 CString conditiondata;
11 int temp_f;
12 int temp_c;//温度
13 float humiditydata;//湿度百分比
14 CString wind_conditiondata;//风
15 }WeatherData;
16
17 class GoogleWeather
18 {
19 public:
20 /************************************************************************/
21 /* 函数功能:根据城市名称获取天气信息 */
22 /************************************************************************/
23 WeatherData getWeather(CString cityName);
24 /************************************************************************/
25 /* 函数功能:处理接收到的天气XML数据 */
26 /************************************************************************/
27 void processXMLData(CString data,WeatherData* m_WeatherData);
28 };
先付上代码的头文件。元旦的时候,写了谷歌和雅虎的天气的API解析,主要是解析XML文件,原理很简单。
共享出来,供大家参考。