使用LINQ从xml填充List

我是LINQ的新手。 我需要使用xml中的信息填充以下类的List

 class Person { int id; string name; string address; } List people = new List(); 

在LINQ中执行此操作的正确方法是什么。

   ... ... ...    1 NameA 
AddressA
2 NameB
AddressB
.. ..

我需要知道LINQ表达式的结构才能直接到达标签。 此外,是否有任何用于填充List', ie map快捷方式,即将Person List', ie map to Instance`标签。

我希望您知道,您需要将您的字段(或更好地使它们属性)设置为公共,以便能够填充对象值。 您在类字段中缺少公共修饰符。

 var doc = XDocument.Parse(xmlString); List people = doc.Descendants("People") .FirstOrDefault() .Descendants("Instance") .Select(p=> new Person() { ID = p.Element("ID").Value, Name = p.Element("Name").Value, Address=p.Element("Address").Value }).ToList(); 

同意@Hasan Khan的回答,但您还需要在您的人员类中公开您的字段,以便您可以实例化它们。 您可以使用自动属性,如下所示:

  class Person { public int Id { get; set; } public string Address { get; set; } public string Name { get; set; } } 

在这里,您有一个关于如何使用Linq To XML的教程