【问题标题】:Linq Multiple Element selectLinq 多元素选择
【发布时间】:2011-08-31 11:52:29
【问题描述】:

我认为我对 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 人物对象。这是我的视图模型的示例。

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 元素下的第一个元素并将其添加到艺术家列表中。如何扩展它以将所有地址元素添加到列表中?任何帮助将不胜感激!谢谢!

【问题讨论】:

    标签: c# xml linq select


    【解决方案1】:
    addressLst = personfile.Descendants("Addresses").Elements("Address")
                          .Select( a => a.Value).ToList()
    

    【讨论】:

    • 完全按照我的需要工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2014-12-12
    • 1970-01-01
    相关资源
    最近更新 更多