如何在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,那么正确的方法是什么?
您只能将一个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)