本文使用Winform (C#)调用互联网上公开的WebServices(http://www.webxml.com.cn/WebServices/WeatherWebService.asmx)来实现天气预报,该天气预报 Web 服务,数据来源于中国气象局 http://www.cma.gov.cn/ ,数据每2.5小时左右自动更新一次,准确可靠。包括 340 多个中国主要城市和 60 多个国外主要城市三日内的天气预报数据。
程序效果:
实现步骤:
1、引入Web服务。在VS中项目上右击→添加服务引用。
2、在弹出的添加服务引用窗口,录入web服务地址和引用后的命名空间。
3、布置winform窗体界面,实现代码。核心代码如下:
- private void button1_Click_1(object sender, EventArgs e)
- {
- Weather.WeatherWebServiceSoapClient w = new Weather.WeatherWebServiceSoapClient("WeatherWebServiceSoap");
- //把webservice当做一个类来操作
- string[] s = new string[23];//声明string数组存放返回结果
- string city = this.textBox1.Text.Trim();//获得文本框录入的查询城市
- s = w.getWeatherbyCityName(city);
- //以文本框内容为变量实现方法getWeatherbyCityName
- if (s[8] == "")
- {
- MessageBox.Show("暂时不支持您查询的城市");
- }
- else
- {
- pictureBox1.Image = Image.FromFile(@"d:\image\" + s[8] + "");
- this.label4.Text =s[1]+" "+s[6];
- textBox2.Text = s[10];
- }
- }
4、天气图标可至【http://www.webxml.com.cn/images/weather.zip】下载。
5、Web服务的各方法参数直接访问【http://www.webxml.com.cn/WebServices/WeatherWebService.asmx】查询,从而实现其它丰富功能,如未来天气预报等。
本文出自 “zhangkui的博客” 博客,请务必保留此出处http://zhangkui.blog.51cto.com/1796259/497324
asp.net与上述操作方法相同。
weather.WeatherWebServiceSoapClient w = new weather.WeatherWebServiceSoapClient("WeatherWebServiceSoap");
string[] s = new string[23];
s = w.getWeatherbyCityName(this.city.Text.Trim());
if (s[8] == "")
{
Response.Write("暂时不支持您查询的城市");
}
else
{
for (int i = 0; i < s.Length; i++)
{
this.info.InnerHtml+="s["+i+"]:"+ s[i]+"<br/>";
}
}
注:s是一个具有23个元素的数据,如下:
s[1]:苏州
s[2]:58357
s[3]:58357.jpg
s[4]:2013-6-28 15:11:48
s[5]:23℃/28℃
s[6]:6月28日 阵雨转多云
s[7]:东风3-4级
s[8]:3.gif
s[9]:1.gif
s[10]:今日天气实况:气温:24℃;风向/风力:东风 2级;湿度:79%;空气质量:良;紫外线强度:弱
s[11]:穿衣指数:热,适合穿T恤、短薄外套等夏季服装。过敏指数:极不易发,无需担心过敏,可放心外出,享受生活。运动指 数:较不宜,有降水,推荐您在室内进行休闲运动。洗车指数:不宜,今天有雨,雨水和泥水会弄脏爱车。晾晒指数:不太适宜,降水可能会淋湿衣物,不适宜晾晒。旅游指数:适宜,细雨中游玩别有情调,但要记得带雨具。路况指数:潮湿,有降水,路面潮湿,请小心驾驶。舒适度指数:较舒适,白天降雨,有些热。空气污染指数:良,气象条件有利于空气污染物扩散。紫外线指数:弱,辐射较弱,涂擦SPF12-15、PA+护肤品。
s[12]:24℃/29℃
s[13]:6月29日 阵雨转中雨
s[14]:东南风3-4级
s[15]:3.gif
s[16]:8.gif
s[17]:25℃/30℃
s[18]:6月30日 中雨转阵雨
s[19]:南风3-4级转4-5级
s[20]:8.gif
s[21]:3.gif
s[22]:苏州位于长江下游,太湖之滨,鱼米之乡,面积8488平方公里。下辖张家港,常熟,太仓,昆山,吴县,吴江六县市,人口575万。其为亚热带季风气候,四季分明,全年平均气温15-17度,1月最低气温-9.4度,7、8月份最高气温达38.6度;全年平均降水量偏高,近1076.2毫米,无霜期在230天左右。苏州全市地势低平,平原占总面积的54%,平均海拔4米左右,东南部地势低洼,西南部多小山丘。吴县穹窿山主峰高351.7米,为全市最高点。境内河流纵横,湖泊众多,京杭运河贯通南北,望虞河、娄江、太浦河等连接东西,阳澄湖、昆承湖、淀山湖等散布其间,太湖水面90%左右在苏州市境内,全市水面占总面积的42.5%,是著名的江南水乡。苏州古城内现有河道35公里、桥梁168座,被誉为"东方威尼斯"。苏州园林甲天下,已被列入世界文化遗产名录,在中国四大名园中,苏州就占有两席(拙政园、留园)。“吴中第一名胜”虎丘,2500多年的历史形成的深厚的文化积淀,成为游客来苏州旅游的必游之地。而唐朝诗人张继的一首《枫桥夜泊》,使古今游客都要来枫桥,闻寒山寺的钟声。景观:苏州,拙政园,网师园,狮子林,留园,沧浪亭,怡园枫桥,寒山寺