2010-06-03 59 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