LINQ to XML选择多个元素?

And*_*ers 3 linq-to-xml

如何在LINQ to XML查询中选择多个元素(具有不同的名称)?

我有这样的查询:

var elems = from descendant in doc.Descendants("foo")
                            select descendant;
Run Code Online (Sandbox Code Playgroud)

但我想选择foo和bar,有点像这样:

var elems = from descendant in doc.Descendants("foo" || "bar")
                            select descendant;
Run Code Online (Sandbox Code Playgroud)

但这只是为了说明我想做什么,我知道这不是正确的语法.我不知道应该如何使用LINQ to XML,那么正确的方法是什么?

Jef*_*ado 7

您只能将一个XName方法传入这些方法.只需将它们留在那里并进行正常的LINQ过滤.

var elems = doc.Descendants()
               .Where(desc => desc.Name == "foo" || desc.Name == "bar");
Run Code Online (Sandbox Code Playgroud)

使用XPath是另一种方式.

var elems = doc.XPathSelectElements("//foo|//bar");
Run Code Online (Sandbox Code Playgroud)