Linq to xml:无法加载所有元素

时间:2010-06-03 11:08:20

标签: c# linq-to-xml

我正在尝试从xml文件加载一些元素。 但是在这种情况下,XDocument.Load似乎没有正确处理xml文件,该方法将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());
    }

谢谢

1 个答案:

答案 0 :(得分:3)

您的代码会从文档中的每个process元素中选择第一个processes元素 - 其中只有一个元素。

要选择文档中的所有process元素,请尝试以下操作:

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

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