如何使用Linq to Xml获取Single XElement对象?

时间:2020-03-06 15:02:46  来源:igfitidea点击:

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

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

这可能吗?

解决方案

绝对地。只需使用类似:

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

诚然,可能有一种更有效的方法来做...