Как получить объект Single XElement с помощью Linq для Xml?

Я хотел бы использовать Linq для Xml, чтобы получить один XElement из .xml файла по имени атрибута, аналогично тому, как вы извлекаете отдельные объекты в Linq to Sql by Id ниже:

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

Возможно ли это?

1 ответ

Совершенно верно. Просто используйте что-то вроде:

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

Может быть, более эффективный способ сделать это, по общему признанию...

licensed under cc by-sa 3.0 with attribution.