我认为我对LINQ有很好的理解,然而,我在从XML文件中选择多个元素时遇到了绊脚石。以下是XML数据的示例。
<Person>
<Addresses>
<Address>1021 E. Ray Rd</Address>
<Address>453 E. John Rd</Address>
</Addresses>
<Picture>www.testpic.com/pic/2834723</Picture>
</Person>
所以我试图解析这些数据并用结果创建我的viewmodel person对象。以下是我的视图模型示例。
Public class personmodel
{
public string picURI {get;set;}
public List<string> addressLst {get;set;}
}
有关如何使用多个地址元素填充addressLst的任何见解?这就是我想要做的事情..
var xmlPeople = XElement.Parse(document)
var person = from personfile in xmlPeople.Descendants("Person")
select new personmodel
{
picURI = (string)personfile.Element("Picture"),
addressLst = personfile.Descendants("Addresses").Select(item =>item.Element("Address").Value.ToList(),
};
这可以抓取Addresses元素下的第一个元素,并将其添加到艺术家列表中。如何扩展它以将所有地址元素添加到列表中?任何帮助将不胜感激!谢谢!
答案 0 :(得分:3)
addressLst = personfile.Descendants("Addresses").Elements("Address")
.Select( a => a.Value).ToList()