我是Windows Phone开发的新手,最近开始尝试创建天气应用程序,我使用的是来自World Weather Online的API(http://www.worldweatheronline.com/)。
我从网站(http://free.worldweatheronline.com/feed/weather.ashx?q=paris&format=xml&num_of_days=5&key=xxxxxxxx)检索了以下示例数据:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<request>
<type>City</type>
<query>Paris, France</query>
</request>
<current_condition>
.......
</current_condition>
<weather>
.......
</weather>
<weather>
.......
</weather>
</data>
我尝试解析xml并将它们放在C#中的数据类中。以下是我的代码:
XDocument doc = XDocument.Parse(e.Result);
var data1 = from q in doc.Descendants("result")
select new RequestData
{
type = (string)q.Element("type"),
query = (string)q.Element("query")
}
这是我的数据类:
public class RequestData
{
public string type {get; set;}
public string query {get; set;}
}
但执行上述代码后,没有错误(好),但data1
没有数据。
我尝试了doc.Descendants("current_condition)
和doc.Descendants("weather")
,我可以将数据输入data1
,只有doc.Descendants("result")
没有给我任何结果。
任何人都知道为什么? 感谢。
答案 0 :(得分:0)
好吧,我的坏,这是我自己的错误,它应该是“请求”,而不是“结果”。
应该是
doc.Descendants("request")
不
doc.Descendants("result")