C# 如何基于属性值在XMl文件中搜索。。。
我正在使用此链接中的xml文件 。。 让我们说“类别”就是我们的“锦标赛” 我需要搜索并显示--- 1.gridview或datalist中所有“锦标赛”的列表。 2.所选“锦标赛”中的比赛列表。。 3.比赛中的事件列表等 请指导我如何做到这一点。。。我使用的是Dataset.Readxml,但是字段的内部链接变得非常复杂 请引导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
感谢..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”);