Wählen Sie mehr als einen Knoten aus XML mithilfe von LINQ
Frage
Ich habe solche XML
<root>
<content>
....
</content>
<index>
....
</index>
<keywords>
....
</keywords>
</root>
Aber ich brauche nur und Knoten wählen.
<content>
....
</content>
<index>
....
</index>
fand ich heraus, wie nur einen Knoten wählen.
XElement Content = new XElement("content", from el in xml.Elements() select el.Element("content").Elements());
Wie kann ich beide Knoten bekommen?
Lösung
var elements =
from element in xml.Root.Elements()
where element.Name == "content" ||
element.Name == "index"
select element;
var newContentNode = new XElement("content", elements);
Andere Tipps
Wenn Sie die XML-Datei geladen haben, können Sie den gesamten Inhalt Knoten erhalten durch:
var cons = from con in xmlFile.Descendants("content");
und in ähnlicher Weise können Sie den Indexknoten erhalten, wie:
var idxs = from idx in xmlFile.Descendants("index")
Ich glaube nicht, dass Sie zwei Knoten abfragen können einen Query-String verwenden.
Mit Lambda:
var elements = document
.Descendants()
.Where(element => element.Name == "content" || element.Name == "index");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow