4

我有这样的 XML

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

但我需要只选择和节点。

<content>
    ....
</content>
<index>
    ....
</index>

我发现了如何只选择一个节点。

XElement Content = new XElement("content", from el in xml.Elements() select el.Element("content").Elements());

如何获得两个节点?

4

3 回答 3

6
var elements = 
    from element in xml.Root.Elements()
    where element.Name == "content" ||
          element.Name == "index"
    select element;
var newContentNode = new XElement("content", elements);
于 2010-05-12T06:26:56.260 回答
1

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

var cons = from con in xmlFile.Descendants("content");

同样,您可以将索引节点获取为:

var idxs = from idx in xmlFile.Descendants("index")

我认为您不能使用一个查询字符串查询两个节点。

于 2010-05-12T06:25:59.983 回答
1

使用 lambda:

    var elements = document
        .Descendants()
        .Where(element => element.Name == "content" || element.Name == "index");
于 2010-05-12T08:01:11.140 回答