2012-07-30 76 views
1

我有這樣的XML:Linq到XML:在XML查詢的XElement的名字,並得到母公司屬性

<?xml version='1.0' encoding='UTF-8'?> 
<applications> 
    <category cat="Player"> 
     <app> 
      <name>4Media Blu Ray Creator</name> 
     </app> 
    </category> 
    <category cat="Burning"> 
     <app> 
      <name>Nero Micro</name> 
     </app> 
</category> 
</applications> 

現在我想在應用名稱進行搜索,並返回XApplications的列表,其中包含類別名稱(父貓屬性)。

這是我XApplication類:

class XApplication 
{ 
    public string Name { set; get; } 
    public string Category { set; get; } 

    public XApplication(string name, string category) 
    { 
     Name = name; 
     Category = category; 
    } 
} 

回答

0

這裏是我的方式來做到這一點:

XApplication[] appList = (from xapp in applicationXml.Elements("category").Elements("app") 
          where xapp.Element("name").Value.ToLower().Contains(txtSearch.Text.ToLower()) 
          select new XApplication 
          { 
           Name = xapp.Element("name").Value, 
           Category = xapp.Parent.Attribute("cat").Value 

          }).ToArray();