我有一个带有字符串List ImagesUrl属性的类Item:
public class Item
{
string Name { get; set; }
List<string> ImagesUrl { get; set; }
..
}
我想解析XML文件并将每个节点项保存到var项中。在节点项中有节点img1,..,img5和右边这些我想通过使用LINQ命令保存到Img属性中:
var items = from item in xmlDocument.Descendants("item")
select new Item
{
Name = item.Element("name").Value,
ImagesUrl = item.Element("img1").Value, //....?
..
};
你怎么看,我不知道如何在LINQ中保存img1..5值。有人能帮助我吗?
答案 0 :(得分:3)
var items = from item in xmlDocument.Descendants("item")
select new Item
{
Name = item.Element("name").Value,
ImagesUrl = Enumerable.Range(1,5).Select(x => item.Element("img"+x).Value).ToList();
};
代码在这里不言自明。
答案 1 :(得分:2)
独立于imgX元素计数的通用解决方案
var items = from item in Xml.Descendants("item")
select new Item
{
Name = item.Element("name").Value,
ImagesUrl = item.Elements()
.Where(e => e.Name.LocalName.StartsWith("img"))
.Select(e => e.Value)
.ToList()
};