Question

je comme XML

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

Mais je dois choisir juste et nœuds.

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

J'ai trouvé comment sélectionner un seul nœud.

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

Comment puis-je obtenir les deux nœuds?

Était-ce utile?

La solution

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

Autres conseils

Une fois que vous avez le fichier xml chargé, vous pouvez obtenir tous les nœuds de contenu par:

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

et vous pouvez obtenir de la même les noeuds d'index comme:

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

Je ne pense pas que vous pouvez interroger deux nœuds à l'aide d'une chaîne de requête.

Utilisation lambda:

    var elements = document
        .Descendants()
        .Where(element => element.Name == "content" || element.Name == "index");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top