2010-06-03 35 views
0

我試圖從XML文件加載一些元素。 但在本例中XDocument.Load似乎沒有正確處理xml文件,該方法將xml文件的內容作爲一個節點返回。Linq to xml:無法加載所有元素

這裏是我的XML內容:

<processes> 
<process>winamp</process> 
<process>Acrobat</process> 
<process>WinRAR</process> 
</processes> 

和讀取文件的代碼:

XDocument loaded = XDocument.Load("/process_list.xml"); 
    var x = from a in loaded.Descendants("processes") 
      select a.Element("process"); 
    foreach (var t in x) 
    { 
      Console.WritleLine(t.Value.ToString()); 
    } 

謝謝

回答

3

你的代碼選擇從每個processes第一process元素文檔中的元素 - 其中只有一個。

要選擇文檔中的所有元素process,試試這個:

XDocument doc = XDocument.Load("process_list.xml"); 

foreach (var element in doc.Descendants("process")) 
{ 
    Console.WritleLine(element.Value); 
} 
+0

那麼,如何讓全選「過程」的元素。 – 2010-06-03 11:25:39

+0

嘗試使用提供的代碼dtb ... – Foole 2010-06-03 11:27:09

+0

感謝它的工作。 – 2010-06-04 08:54:00