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

时间:2012-07-30 09:49:45

标签: 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 cat="Burning">
        <app>
            <name>Nero Micro</name>
        </app>
</category>
</applications>

现在我想搜索 app 名称并返回包含类别名称(父猫属性)的XApplications列表。

这是我的 XApplication 类:

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

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

1 个答案:

答案 0 :(得分: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();