2007-10-19

XNode

Die XNode-Klasse ist die Basis-Klasse für alle LINQ to XML-Klassen (ausser XAttribute) und repräsentiert einen Element Node (Knoten) in einem XML-Dokument. Mit Hilfe der XNode-Methoden können Knoten hinzugefügt, entfernt, veschoben und ersetzt werden.

AddAfterSelf und AddBeforeSelf Methoden
Die Methoden AddAfterSelf und AddBeforeSelf der XNode-Klasse helfen uns weitere Knoten vor oder nach der XNode hinzufügen.

Signaturen - AddAfterSelf
public void AddAfterSelf(object content);
public void AddAfterSelf(params object[] content);


Signaturen - AddBeforeSelf
public void AddBeforeSelf(object content);
public void AddBeforeSelf(params object[] content);


Beispiel
Wir erstellen ein neues XML-Dokument mit Planet Merkur Daten. Anschliessend erstellen wir ein neues Element für den Planeten Venus unf fügen wir diesen vor dem Merkur Element. Das Element Erde wird ebenfalls neu erstellt und nach Merkur Daten hinzugefügt.

Als Resultat erwarten wir XML-Dokument mit drei Einträgen. In der Reihenfolge Merkur, Venus und Erde.

Beispiel Code
// Erstellen ein neues XDocument-Objekt mit
// dem Namen xDoc
var xDoc = new XDocument();

// Root-Element erstellen und an das XDocument-Objekt mit
// der Add-Methode hinzufuegen
xDoc.Add(new XElement("Planets"));

// Erstellen ein neues XElement Planet und an
// das Planets hinzufuegen
var planets = xDoc.Root;
planets.Add(new XElement("Planet"));

// Hinzufuegen Planet Venus
var planet = xDoc.Element("Planets").Element("Planet");
planet.Add(new XAttribute("Id", "2"),
new XAttribute("Name", "Venus"));

// Mit AddBeforeSelf wird der Planet Merkur vor
// dem Planet Venus hinzugefügt
planet.AddBeforeSelf(new XElement("Planet",
new XAttribute("Id", "1"),
new XAttribute("Name", "Merkur")));

// Mit AddAfterSelf wird der Planet Erde nach
// dem Planet Venus hinzugefügt
planet.AddAfterSelf(new XElement("Planet",
new XAttribute("Id", "3"),
new XAttribute("Name", "Erde")));


Resultat
Als Resultat erhalten wir ein XDocument-Objekt mit drei Einträgen, in dem die Planeten in der Reihenfolge Merkur, Venus und Erde aufgelistet sind.




No comments: