C# 如何基于属性值在XMl文件中搜索。。。

C# 如何基于属性值在XMl文件中搜索。。。,c#,asp.net,xml,C#,Asp.net,Xml,我正在使用此链接中的xml文件 。。 让我们说“类别”就是我们的“锦标赛” 我需要搜索并显示--- 1.gridview或datalist中所有“锦标赛”的列表。 2.所选“锦标赛”中的比赛列表。。 3.比赛中的事件列表等 请指导我如何做到这一点。。。我使用的是Dataset.Readxml,但是字段的内部链接变得非常复杂 请引导 感谢..n..关于,最简单的方法是使用LINQ到XML。大概是这样的: var doc = XDocument.Load(url); var tournaments

我正在使用此链接中的xml文件

。。 让我们说“类别”就是我们的“锦标赛” 我需要搜索并显示--- 1.gridview或datalist中所有“锦标赛”的列表。 2.所选“锦标赛”中的比赛列表。。 3.比赛中的事件列表等

请指导我如何做到这一点。。。我使用的是Dataset.Readxml,但是字段的内部链接变得非常复杂

请引导


感谢..n..关于,

最简单的方法是使用LINQ到XML。大概是这样的:

var doc = XDocument.Load(url);
var tournaments = doc.Root
                     .Elements("category")
                     .Where(x => (string) x.Attribute("name") == "Tournament")
                     .Single(); // Is there only one matching catgeory?

var matches = tournaments
    .Elements("match")
    .Select(m => new
            {
               LocalTeam = (string) m.Element("localteam").Attribute("name"),
               VisitorTeam = (string) m.Element("localteam").Attribute("name"),
               Events = m.Elements("Events")
                         .Select(e => new
                                 {
                                     Player = (string) e.Attribute("player"),
                                     Type = (string) e.Attribute("type"),
                                     // etc
                                 })
                         .ToList();
            });
如何显示这一点取决于您。您可能希望为事件、匹配等创建自己的“普通”类型,而不是使用上面的匿名类型


到目前为止,LINQ to XML是我使用过的最简单的XML处理方式。

@Jon..Sry buddy..Ackly我对LINQ to XML不太精通..有没有其他方法在XML中搜索…像这样。。。XmlNodeList xnodeMatches=xdoc.SelectNodes(//category[@name='+tourbank+']/id[@id=''+tournamentID+']/match”);