1

私はWindowsPhoneの開発に不慣れで、現在問題に直面しています。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()などの]メソッドを使用してオブジェクトelmをクエリしようとすると、機能しません。WindowsPhoneのSystem.Xml.Linqリファレンスバージョンは2.0.5.0です。私は何か他のものが欠けていますか?

以下は私が受け取る正確なエラーメッセージです。

ウォッチウィンドウに、オブジェクトelmの値が表示されます。しかし、LINQクエリelm.Elements( "Station")はエラーになります。エラーメッセージは「System.Collections.IEnumerator.CurrentCouldnotevaluationexpression」です。

どんな助けでも大歓迎です。前もって感謝します。

4

0 に答える 0