C# Linq到XML:在XML中按名称查找XElement并获取父属性

C# Linq到XML:在XML中按名称查找XElement并获取父属性,c#,wpf,xml,linq,C#,Wpf,Xml,Linq,我有以下XML: <?xml version='1.0' encoding='UTF-8'?> <applications> <category cat="Player"> <app> <name>4Media Blu Ray Creator</name> </app> </category> <category c

我有以下XML:

<?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>

以下是我的方法:

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