如何使用Linq到Xml获取单个XElement对象?

时间:2008-10-02 19:45:12

标签: c# .net linq-to-xml

我想使用Linq to Xml通过属性名从.xml文件中获取单个XElement,类似于在下面通过Id检索Linq到Sql中的单个对象:

var singleDog = context.Dogs.Single(p => p.Id == int.Parse(Id));

这可能吗?

1 个答案:

答案 0 :(得分:7)

绝对。只需使用:

xdoc.Descendants()
    .Where(x => x.HasAttribute("id") && x.Attribute("id")==id)
    .Single();

可能有一种更有效的方法,无可否认......