代码之家  ›  专栏  ›  技术社区  ›  Mr. Kraus

如何使用Linq to XML获取单个Xelement对象?

  •  3
  • Mr. Kraus  · 技术社区  · 16 年前

    我想使用linq to xml从.xml文件中按属性名获取单个xelement,类似于下面的linq to sql by id中检索单个对象的方法:

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

    这有可能吗?

    1 回复  |  直到 16 年前
        1
  •  7
  •   Jon Skeet    16 年前

    当然。只需使用如下内容:

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

    诚然,有一种更有效的方法可以做到这一点……