0

xml:

http://wsf.cdyne.com/WeatherWS/Weather.asmx/GetCityWeatherByZIP?ZIP=48183

这是我的代码:

    private void GetWeather()
    {
        WebClient web = new WebClient();
        web.DownloadStringCompleted += new DownloadStringCompletedEventHandler(web_DownloadStringCompleted);
        string uriAddr = "http://wsf.cdyne.com/WeatherWS/Weather.asmx/GetCityWeatherByZIP?ZIP=48183";
        web.DownloadStringAsync(new Uri(uriAddr));
    }
    void web_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        if (e.Error != null)
        {
            MessageBox.Show("error");

        }

        XElement XmlWeather = XElement.Parse(e.Result);

        foreach (var item in XmlWeather.Descendants("WeatherReturn"))
        {
            // code to get element info
        }

    }

我什至无法进入 foreach 语句。有什么建议么?

4

1 回答 1

1

您需要包含命名空间:

XNamespace ns = "http://ws.cdyne.com/WeatherWS/";

然后你可以打电话XmlWeather.Descendants(ns + "WeatherReturn")

于 2012-08-27T23:45:55.567 回答