1

我是 Windows 手机开发的新手,目前我遇到了一个问题。我正在为 Windows Phone 应用程序使用 RESTful 服务,并且我成功地收到了如下所示格式的响应

 <StationsResp xmlns="http://www.wmata.com" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
 <Stations>
 <Station>
  <Code>A03</Code> 
  <Lat>38.9095980575</Lat> 
  <LineCode1>RD</LineCode1> 
  <LineCode2 i:nil="true" /> 
  <LineCode3 i:nil="true" /> 
  <LineCode4 i:nil="true" /> 
  <Lon>-77.0434143597</Lon> 
  <Name>Dupont Circle</Name> 
  <StationTogether1 /> 
  <StationTogether2 /> 
  </Station>
 <Station>
  <Code>A02</Code> 
  <Lat>38.9032019462</Lat> 
  <LineCode1>RD</LineCode1> 
  <LineCode2 i:nil="true" /> 
  <LineCode3 i:nil="true" /> 
  <LineCode4 i:nil="true" /> 
  <Lon>-77.0397008272</Lon> 
  <Name>Farragut North</Name> 
  <StationTogether1 /> 
  <StationTogether2 /> 
  </Station>
  </Stations>
  </StationsResp>

我的 C# 代码在下面调用服务并存储此响应。

    private void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
        Uri uri = new Uri("http://api.wmata.com/Rail.svc/Stations?api_key=API_KEY_CODE_OMITTED_INTENTIONALLY");

            WebClient webClient = new WebClient();
            webClient.DownloadStringCompleted += OnDownloadStringCompleted;
            webClient.DownloadStringAsync(uri);
}



 void OnDownloadStringCompleted(object sender, DownloadStringCompletedEventArgs args)
        {

 XElement elm = XElement.Load(args.Result);

            var SearchResults = elm.Elements("Station");

}

我的问题是最后一行。对象“榆树”具有上面发布的响应的值。但是,当我尝试使用任何方法查询对象 elm 时 [如 elm.Descendents()、elm.Elements()] 它不起作用。我的 Windows Phone 的 System.Xml.Linq 参考版本是 2.0.5.0。我还缺少其他东西吗?

以下是我收到的确切错误消息。

在监视窗口中,我看到对象 elm 中的值。但是 LINQ 查询 elm.Elements("Station") 出错了。错误消息是“System.Collections.IEnumerator.CurrentCould not evaluate expression”。

任何帮助是极大的赞赏。提前致谢。

4

0 回答 0