<paragroup>
          <para name="1"  value="2" src-att="4"></para>
          <para name="3">
            <item >
              <initem>1</initem>
              <initem>2</initem>
            </item>
          </para>
        </paragroup>
我定义了2个类,一个para
{name,..,list<item>}
,一个item{initem}
现在我怎么用linq获取para
   var obj4 =from x4 in  doc.Descendants("para")                     
 select new para
  {
    id=x4.Attribute("name").Value,
 list=  ??                   
                      
   }

解决方案 »

  1.   

    定义类
      public class para
        {
            public string id { get; set; }
            public List<item> item_list { get; set; }
        }
        public class item
        {
            public string initem { get; set; }
        }
      var ad = from a in adList.Descendants("para")                         select new para                         {                             id = a.Attribute("name").Value,                             item_list = a.Descendants("item").Elements("initem").Select(b => new item { initem=b.Value}).ToList()                         };
      

  2.   

    2楼的方法可以,但是如果xml属性不全的话就会出错,不知道如何解决
      

  3.   

    那就判断一下是否为空
    id = a.Attribute("name")==null? "":a.Attribute("name").Value,