0

我是 Windows Phone 开发的新手,最近开始尝试创建一个天气应用程序,我正在使用来自 World Weather Online ( http://www.worldweatheronline.com/ ) 的 API。

我从网站(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")没有给我任何结果。

有谁知道为什么?谢谢。

4

1 回答 1

0

好吧,我的错,这是我自己的错误,应该是“请求”,而不是“结果”。

它应该是

doc.Descendants("request")

不是

doc.Descendants("result")
于 2013-03-24T04:49:32.133 回答