使用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的教程