2012-04-13 86 views
0

我想知道爲什麼當我檢索我的XML時,我無法從中獲取任何項目。檢索XML WP7

所以基本上我使用手機連接到我的網絡服務。

XML返回目錄信息和文件信息的TUPLE。

void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
    { 
     if (e.Error == null) 
     { 
      XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None); 
      var folders = from query in xdoc.Descendants("DirectoryInfo") 
          select new Folder 
          { 
           Name = (string)query.Element("OriginalPath"), 
          }; 
      listBox2.ItemsSource = folders; 
     } 
    }  

我得到這個錯誤:

'System.Collections.IEnumerable' does not contain a definition for 'System' and no extension method 'System' accepting a first argument of type 'System.Collections.IEnumerable' could be found (are you missing a using directive or an assembly reference?) 

<TupleOfArrayOfDirectoryInfoArrayOfFileInfoe_PmhuPqo xmlns="http://schemas.datacontract.org/2004/07/System"  xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
<m_Item1 xmlns:a="http://schemas.datacontract.org/2004/07/System.IO"> 
<a:DirectoryInfo> 
<OriginalPath xmlns="" xmlns:b="http://www.w3.org/2001/XMLSchema" i:type="b:string">AETN</OriginalPath> 
<FullPath xmlns="" xmlns:b="http://www.w3.org/2001/XMLSchema"    i:type="b:string">C:\inetpub\wwwroot\Files\TEST1</FullPath> 
</a:DirectoryInfo> 
<a:DirectoryInfo> 
<OriginalPath xmlns="" xmlns:b="http://www.w3.org/2001/XMLSchema" i:type="b:string">BT</OriginalPath> 
<FullPath xmlns="" xmlns:b="http://www.w3.org/2001/XMLSchema"  i:type="b:string">C:\inetpub\wwwroot\Files\TEST2</FullPath> 
</a:DirectoryInfo> 
    <a:DirectoryInfo> 
<OriginalPath xmlns="" xmlns:b="http://www.w3.org/2001/XMLSchema" i:type="b:string">Comixology</OriginalPath> 
<FullPath xmlns="" xmlns:b="http://www.w3.org/2001/XMLSchema" i:type="b:string">C:\inetpub\wwwroot\Files\TEST3</FullPath> 
</a:DirectoryInfo> 

在我在Windows Phone 7應用程序的代碼,我下載從右邊網址的XML後,我用這一段代碼

+0

您是否已經清理並重建了您的解決方案?看起來可能有關於參考的問題。另外,在哪一行錯誤被拋出? – 2012-04-13 09:35:17

+0

沒有錯誤引發。這只是NAME,這是一個空字符串。 – Kiwimoisi 2012-04-13 09:58:36

+1

我不確定我是否理解。在你的問題中,你說你得到一個關於參考的錯誤? – 2012-04-13 10:17:03

回答

2

不知道錯誤,但沒有返回元素的問題是因爲您在DirectoryInfo元素上應用了名稱空間,所以您必須使用它進行搜索:

void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
{ 
    if (e.Error == null) 
    { 
     XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None); 

     XNamespace aNamespace = XNamespace.Get("http://schemas.datacontract.org/2004/07/System.IO"); 

     var folders = from query in xdoc.Descendants(aNamespace.GetName("DirectoryInfo")) 
         select new Folder 
         { 
          Name = (string)query.Element("OriginalPath"), 
         }; 
     listBox2.ItemsSource = folders; 
    } 
}