XElement.Nodes()和类似的方法不起作用

时间:2012-12-03 21:59:17

标签: linq windows-phone-7 xml-parsing

我是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");

}

我的问题在于最后一行。 object'elm'具有根据上面发布的响应的值。但是,当我尝试使用任何方法[如elm.Descendents(),elm.Elements()]查询对象elm时,它不起作用。我的用于Windows Phone的System.Xml.Linq参考版本是2.0.5.0。我错过了别的什么吗?

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

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

非常感谢任何帮助。提前谢谢。

0 个答案:

没有答案