Selezionare più di un nodo da XML utilizzando LINQ
Domanda
ho quali XML
<root>
<content>
....
</content>
<index>
....
</index>
<keywords>
....
</keywords>
</root>
Ma ho bisogno di selezionare solo e nodi.
<content>
....
</content>
<index>
....
</index>
ho scoperto come selezionare un solo nodo.
XElement Content = new XElement("content", from el in xml.Elements() select el.Element("content").Elements());
Come posso ottenere entrambi i nodi?
Soluzione
var elements =
from element in xml.Root.Elements()
where element.Name == "content" ||
element.Name == "index"
select element;
var newContentNode = new XElement("content", elements);
Altri suggerimenti
Una volta che avete il file XML caricato, è possibile ottenere tutti i nodi di contenuti attraverso:
var cons = from con in xmlFile.Descendants("content");
e allo stesso modo è possibile ottenere i nodi indice come:
var idxs = from idx in xmlFile.Descendants("index")
Non credo che è possibile interrogare due nodi utilizzando una stringa di query.
Utilizzando lambda:
var elements = document
.Descendants()
.Where(element => element.Name == "content" || element.Name == "index");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow