Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用LINQ从XML中选择多个节点_C#_Xml_Linq_Xelement - Fatal编程技术网

C# 使用LINQ从XML中选择多个节点

C# 使用LINQ从XML中选择多个节点,c#,xml,linq,xelement,C#,Xml,Linq,Xelement,我有这样的XML <root> <content> .... </content> <index> .... </index> <keywords> .... </keywords> </root> 如何获取这两个节点?加载xml文件后,可以通过以下方式获取所有内容节点: var cons = from

我有这样的XML

<root>
    <content>
        ....
    </content>
    <index>
        ....
    </index>
    <keywords>
        ....
    </keywords>
</root>

如何获取这两个节点?

加载xml文件后,可以通过以下方式获取所有内容节点:

var cons = from con in xmlFile.Descendants("content");
同样,您可以获得索引节点,如下所示:

var idxs = from idx in xmlFile.Descendants("index")
我认为不能使用一个查询字符串查询两个节点

使用lambda:

var elements = 
    from element in xml.Root.Elements()
    where element.Name == "content" ||
          element.Name == "index"
    select element;
var newContentNode = new XElement("content", elements);
    var elements = document
        .Descendants()
        .Where(element => element.Name == "content" || element.Name == "index");

检查一下这个谢谢!这正是我想要的!:)
var elements = 
    from element in xml.Root.Elements()
    where element.Name == "content" ||
          element.Name == "index"
    select element;
var newContentNode = new XElement("content", elements);
    var elements = document
        .Descendants()
        .Where(element => element.Name == "content" || element.Name == "index");