猜测这是基本的东西,但我无法弄清楚。我正在使用一个Web服务,它返回下面的XML show,但到目前为止我只处理了只返回一个字符串/ int等的web方法。我不知道如何处理这个返回。它是cdyne天气网络服务,并没有像我这样的菜鸟的深度例子。
<?xml version="1.0" encoding="UTF-8"?>
-<ForecastReturn xmlns="http://ws.cdyne.com/WeatherWS/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Success>true</Success>
<ResponseText>City Found</ResponseText>
<State>NY</State>
<City>New York</City>
<WeatherStationCity>White Plains</WeatherStationCity>
-<ForecastResult>
-<Forecast>
<Date>2014-09-20T00:00:00</Date>
<WeatherID>2</WeatherID>
<Desciption>Partly Cloudy</Desciption>
-<Temperatures>
<MorningLow>52</MorningLow>
<DaytimeHigh>73</DaytimeHigh>
</Temperatures>
-<ProbabilityOfPrecipiation>
<Nighttime>00</Nighttime>
<Daytime>10</Daytime>
</ProbabilityOfPrecipiation>
</Forecast>
-<Forecast>
<Date>2014-09-21T00:00:00</Date>
<WeatherID>3</WeatherID>
<Desciption>Mostly Cloudy</Desciption>
-<Temperatures>
<MorningLow>63</MorningLow>
<DaytimeHigh>78</DaytimeHigh>
</Temperatures>
-<ProbabilityOfPrecipiation>
<Nighttime>10</Nighttime>
<Daytime>20</Daytime>
</ProbabilityOfPrecipiation>
</Forecast>
</ForecastResult>
</ForecastReturn>
现在我只需要第一次预测的描述就可以贴在标签上。
weatherWebService.Weather weatherService = new weatherWebService.Weather();
private void btnGo_Click(object sender, EventArgs e)
{
weatherService.GetCityForecastByZIP(txtZip.Text);
lblDescription.Text = magicVariableX;
}
该服务已添加正常并且可以调用,我只是没有回复的线索,因为即使它在浏览器中测试时发送回的单个变量string.int也显示为XML,但是在代码中没有这样对待。
答案 0 :(得分:2)
在您尝试解析XML的路径之前...... 您正在查找返回的第一个预测的说明,对吗?
方法.GetCityForecastByZIP返回一种&#34; ForecastReturn&#34;而不是&#34; int&#34;或&#34;字符串&#34;类型。这是一种相当常见的情况。
刚才我成功了:
ForecastReturn fr = new ForecastReturn(); Weather service = new Weather(); fr = service.GetCityForecastByZIP("44060"); string YourMagicVariable = fr.ForecastResult[0].Desciption;
注意:说明拼写错误。这是CDYNE方面他们如何定义ForecastReturn类型的错字。
此外,因为这是一个.asmx服务。确保您在&#34;高级&#34;
中将该服务引用为旧的.net 2.0服务