Sélectionnez plus d'un noeud de XML en utilisant LINQ
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?
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