private void GetWHWeather() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://weather.news.qq.com/inc/07_dc211.htm"); request.Method = "Get"; request.ContentType = "application/x-www-form-urlencoded"; WebResponse response = request.GetResponse(); Stream s = response.GetResponseStream(); StreamReader sr = new StreamReader(s, System.Text.Encoding.GetEncoding("GB2312")); string html = sr.ReadToEnd(); s.Close(); sr.Close(); string resultStr1 = Regex.Replace(html, @"/n", "", RegexOptions.IgnoreCase);//删除换行符 string resultStr2 = Regex.Replace(resultStr1, @"/t", "", RegexOptions.IgnoreCase);//删除空格符 string html2 = Regex.Replace(resultStr2, @"<!--[/s/S]*?>.*?<![/s/S]*?>", "", RegexOptions.IgnoreCase);//删除特殊标记及其中内容<!--[if !IE]>|xGv00|39b04989cad888a9d41abf20ea90052c<![endif]--> //string resultStr = Regex.Replace(html2, @"<[/s/S]*?>", "", RegexOptions.IgnoreCase); string[] result = Regex.Split(html2, @"<[/s/S]*?>");//删除所有HTML标记并将标记中内容分隔放入数组 string test = result[101].ToString().Trim(); ArrayList list=new ArrayList(); for(int i=0;i<result.Length-1;i++)//取出非空数组元素放入最终数组中 { if (result[i].Trim() != "" && result[i].Trim() != " ") { list.Add(result[i]); string test = list[i].ToString(); //Response.Write(result[i] + "<br />"); } } Label1.Text = list[5].ToString() + "<br />" + list[6].ToString(); Label2.Text = list[7].ToString() + "<br />" + list[8].ToString() + "<br />" + list[9].ToString(); Label3.Text = list[11].ToString(); Label4.Text = list[15].ToString(); Label5.Text = list[19].ToString(); Label6.Text = list[12].ToString() + "<br />" + list[13].ToString() + "<br />" + list[14].ToString(); Label7.Text = list[16].ToString() + "<br />" + list[17].ToString() + "<br />" + list[18].ToString(); Label8.Text = list[20].ToString() + "<br />" + list[21].ToString() + "<br />" + list[22].ToString(); string weather = list[5].ToString(); string weather1 = list[12].ToString(); string weather2 = list[16].ToString(); string weather3 = list[20].ToString(); switch (returnWeahterValue(weather))//当日天气 { case "中雨": Image8.ImageUrl = "~/Images/weather/midrain.gif"; break; case "大雨": Image8.ImageUrl = "~/Images/weather/bigrain.gif"; break; case "多云": Image8.ImageUrl = "~/Images/weather/cloudday.gif"; break; case "雷阵雨": Image8.ImageUrl = "~/Images/weather/leizhenyu.gif"; break; case "小雨": Image8.ImageUrl = "~/Images/weather/smallrain.gif"; break; case "晴": Image8.ImageUrl = "~/Images/weather/sun.gif"; break; case "阵雨": Image8.ImageUrl = "~/Images/weather/showerday.gif"; break; case "阴": Image8.ImageUrl = "~/Images/weather/yin.gif"; break; default: break; } switch (returnWeahterValue(weather1))//当日天气 { case "中雨": Image9.ImageUrl = "~/Images/weather/midrain.gif"; break; case "大雨": Image9.ImageUrl = "~/Images/weather/bigrain.gif"; break; case "多云": Image9.ImageUrl = "~/Images/weather/cloudday.gif"; break; case "雷阵雨": Image9.ImageUrl = "~/Images/weather/leizhenyu.gif"; break; case "小雨": Image9.ImageUrl = "~/Images/weather/smallrain.gif"; break; case "晴": Image9.ImageUrl = "~/Images/weather/sun.gif"; break; case "阵雨": Image9.ImageUrl = "~/Images/weather/showerday.gif"; break; case "阴": Image9.ImageUrl = "~/Images/weather/yin.gif"; break; default: break; } switch (returnWeahterValue(weather2))//明天天气 { case "中雨": Image10.ImageUrl = "~/Images/weather/midrain.gif"; break; case "大雨": Image10.ImageUrl = "~/Images/weather/bigrain.gif"; break; case "多云": Image10.ImageUrl = "~/Images/weather/cloudday.gif"; break; case "雷阵雨": Image10.ImageUrl = "~/Images/weather/leizhenyu.gif"; break; case "小雨": Image10.ImageUrl = "~/Images/weather/smallrain.gif"; break; case "晴": Image10.ImageUrl = "~/Images/weather/sun.gif"; break; case "阵雨": Image10.ImageUrl = "~/Images/weather/showerday.gif"; break; case "阴": Image10.ImageUrl = "~/Images/weather/yin.gif"; break; default: break; } switch (returnWeahterValue(weather3))//后天天气 { case "中雨": Image11.ImageUrl = "~/Images/weather/midrain.gif"; break; case "大雨": Image11.ImageUrl = "~/Images/weather/bigrain.gif"; break; case "多云": Image11.ImageUrl = "~/Images/weather/cloudday.gif"; break; case "雷阵雨": Image11.ImageUrl = "~/Images/weather/leizhenyu.gif"; break; case "小雨": Image11.ImageUrl = "~/Images/weather/smallrain.gif"; break; case "晴": Image11.ImageUrl = "~/Images/weather/sun.gif"; break; case "阵雨": Image11.ImageUrl = "~/Images/weather/showerday.gif"; break; case "阴": Image11.ImageUrl = "~/Images/weather/yin.gif"; break; default: break; } } public string returnWeahterValue(string strWeather)//取最终天气 { string WeatherValue = ""; if (strWeather.Length > 3) { string First6Code = strWeather.Substring(0, 3);//取天气字符串前6位字符,“晴转多云”即取“晴”,以第一个天气为准 string[] WeatherType = { "中雨", "大雨", "小雨", "雷阵雨", "多云", "晴", "阵雨","阴" }; for (int i = 0; i < WeatherType.Length - 1; i++) { if (First6Code.Contains(WeatherType[i]))//判断是否包含天气字符串 { WeatherValue = WeatherType[i]; } } } else { WeatherValue = strWeather; } return WeatherValue; }