如何从Web Service获取特定值

时间:2015-10-21 05:39:34

标签: c# asp.net web-services

我在我的asp.net应用程序http://www.webservicex.net/globalweather.asmx?op=GetWeather中使用Global Weather Web Service。

代码工作正常,但我想只在标签上显示温度。

ServiceReference1.GlobalWeatherSoapClient client = new  ServiceReference1.GlobalWeatherSoapClient("GlobalWeatherSoap");
string weather = client.GetWeather("Karachi Airport", "Pakistan"); 
Label1.Text = weather;

标签控制显示服务提供的完整数据(即日期,时间,国家和城市名称等)

2 个答案:

答案 0 :(得分:2)

根据您提供的链接,它以XML格式返回该字符串。

请按以下方式使用:

  var doc = XDocument.Parse(weather);  //use .Load if you are pulling an xml file.
  var location = doc.Root.Element("Location").Value;
  var Temperature = doc.Root.Element("Temperature").Value;
  Label1.Text = Temperature;

就像上面你也可以获得另一个值,例如DewPoint,RelativeHumidity等

var DewPoint= doc.Root.Element("DewPoint").Value;
var RelativeHumidity = doc.Root.Element("RelativeHumidity ").Value;

答案 1 :(得分:2)

你也可以这样做

 string weather = client.GetWeather("Karachi Airport", "Pakistan"); 
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.LoadXml(weather );
    XmlNodeList elemlist = xmlDoc.GetElementsByTagName("Temperature");
    string temp= elemlist[0].InnerXml;