環境:Visual Studio 2010 C#
1. 新建項目-->Windows窗體應用程序。輸入解決方案名,假定為TTS。
2. 在界面設計裡拉一個textBox和一個Button。textBox1用來裝文本信息,點擊button1觸發獲取天氣預報事件並朗讀。
3. 在“解決方案資源管理器”中,在解決方案TTS上右鍵-->添加服務引用,彈出如下界面:
點“高級”,出現如下界面:
再點“添加Web引用”,彈出如下界面:
在地址欄上輸入http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
--------------------------------------分割線 start----------------------------------------------------
【題外話】
這是中國提供的天氣預報的Web服務。在該站點的主頁http://www.webxml.com.cn/zh_cn/web_services.aspx上,還能找到其它諸如查詢手機號碼歸屬地、航班時刻表、匯率、英漢翻譯、QQ是否在線、驗證碼圖片生成等Web服務。
另外介紹幾個國外提供的Web Service站點(沒試過,不知能不能用):
·專門關於地圖的Web服務:
http://www.opengeospatial.org/standards/wms
·一個很豐富的Web服務站點:
http://www.programmableweb.com/apis/directory/1?sort=category
--------------------------------------分割線 end----------------------------------------------------
注意1:到現在的窗口標題已經為“添加Web引用”了。最開始是“添加服務引用”。這兩種是不一樣的。雖然在第一步的時候,在地址欄裡輸入以上地址,前往,也能查找到這個Web服務,但是添加到項目之後,後面用的時候就有問題,不能找到需要的類和方法(具體見後邊代碼)。也可能是我不會用“服務引用”。總之我只知道怎麼用“Web引用”。
注意2:留意上圖中的“Web引用名”,相當於添加的Web引用的命名空間。可以自己改。
點“添加引用”後,這個天氣預報的Web Service就添加到我們的項目裡了,可在“解決方案資源管理器”裡看到,如圖:
4. 接下來就是怎麼使用weather web service了。
為button1添加響應函數button1_Click。具體見代碼:
button1_Click( city = = [] wwsArray =.textBox1.Text = wwsArray[] + + wwsArray[] + + wwsArray[+ + wwsArray[] + ++ + wwsArray[] + + Environment.NewLine + wwsArray[從Web Service獲取到的信息放到字符串數組wwsArray[]裡,我選擇了一些字符串放到textBox1裡,wwsArray[0]表示“湖北”,wwsArray[1]表示“武漢”。你也可以把整個字符串數組放進textBox1,不過注意有些信息是城市的圖片名,好像wwsArray[2]就是。 5. 添加朗讀天氣預報的功能。 首先在C盤下查找sapi.dll,我的如下圖,在兩個目錄下都有這個dll:
button1_Click( == (.textBox1.Text.Trim() == city = = [] wwsArray =.textBox1.Text = wwsArray[] + + wwsArray[] + + wwsArray[] + + wwsArray[] + ++ + wwsArray[] + + Environment.NewLine + wwsArray[
代運行效果截圖: