2013-11-22 29 views
0

我有一類項目有一個字符串列表ImagesUrl屬性:保存值成一類表使用LINQ

public class Item 
{ 
    string Name { get; set; } 
    List<string> ImagesUrl { get; set; } 
    .. 
} 

我想解析XML文件和每個節點項保存到VAR項目。在節點項目有節點IMG1,..,IMG5和右這些我想使用LINQ類似下面的命令保存到圖屬性:

var items = from item in xmlDocument.Descendants("item") 
       select new Item 
       { 
        Name = item.Element("name").Value, 
        ImagesUrl = item.Element("img1").Value, //....? 
        .. 
       }; 

怎麼可以看到,我不知道我怎麼能保存LINQ中的img1..5值。有人能幫助我嗎?

回答

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(); 
      }; 

代碼在這裏是不言自明的。獨立於IMGX元素的數量

+0

謝謝我的朋友! :) – Emetrop

2

通用的解決方案

  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() 
      };