2010-06-14 100 views

回答

2

我發現了一篇博文Mike Snow,它描述了一種方法。該代碼是有點長完全引用,但這裏的相關章節:

StringReader stream = new StringReader(e.Result); 
XmlReader reader = XmlReader.Create(stream); 

while (reader.Read()) 
{ 
    // Do stuff 
} 

XML文件,則使用此代碼下載:

Uri url = new Uri("MapImages.xml", UriKind.Relative); 
WebClient client = new WebClient(); 
client.DownloadStringCompleted += 
     new DownloadStringCompletedEventHandler(client_DownloadStringCompleted); 
client.DownloadStringAsync(url); 

DownloadStringAsync MSDN頁:

下載資源後,此方法使用Encoding屬性中指定的編碼將資源轉換爲String。此方法在下載資源時不會阻塞調用線程。要在等待服務器響應的同時下載資源和塊,請使用DownloadString方法。下載完成後,將引發DownloadStringCompleted事件。您的申請必須處理此事件以接收通知。下載的字符串在Result屬性中可用。

因此,下載文件到您的Internet臨時文件夾(或緩存依賴於瀏覽器),然後將該文件傳遞作爲字符串到事件處理程序,在那裏你可以使用StringReader閱讀。

+0

Uri和WebClient不會到網站並將XML文件下載到用戶的機器嗎? – cbleile 2010-06-14 16:16:21

+0

@cbeile - 是的,但僅作爲臨時文件 – ChrisF 2010-06-14 17:13:15

1

如果你想閱讀你的項目文件的XML你這樣做:

XDocument doc1 = XDocument.Load("file.xml"); 
     var filteredData = from c in doc1.Descendants("Row") 
          select new 
          { 
           //element assignment like: 
           Name = c.Element("Name"); 
          }; 

查詢返回IEnumereble對象...

編輯:問題是舊的,但一個反應總是有用給其他人

相關問題