Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
XNode.Remove-Methode
Entfernt diesen Knoten aus seinem übergeordneten Element.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
| Ausnahme | Bedingung |
|---|---|
| InvalidOperationException |
Das übergeordnete Element ist null. |
Bei der LINQ to XML-Programmierung sollten Sie einen Satz von Knoten nicht bearbeiten oder ändern, während Sie Knoten in diesem Satz abfragen. Praktisch bedeutet dies, dass Sie nicht einen Satz von Knoten durchlaufen und die Knoten entfernen sollten. Stattdessen sollten Sie sie mithilfe der ToList<TSource>-Erweiterungsmethode in einer List<T> materialisieren. Anschließend können Sie die Liste durchlaufen, um die Knoten zu entfernen. Weitere Informationen finden Sie unter Fehler durch Vermischung von deklarativem und imperativem Code (C#) (LINQ to XML).
Wenn Sie hingegen einen Satz von Knoten entfernen möchten, wird empfohlen, die Extensions.Remove-Methode zu verwenden. Diese Methode kopiert die Knoten in eine Liste und durchläuft dann die Liste, um die Knoten zu entfernen.
Diese Methode löst das Changed-Ereignis und das Changing-Ereignis aus.
Die XContainer-Klasse speichert ihre untergeordneten Knoten als einfach verknüpfte Liste von XNode-Objekten. Dies bedeutet, dass die Remove-Methode die Liste der direkt untergeordneten Knoten unter dem übergeordneten Container durchlaufen muss. Daher könnte die Verwendung dieser Methode die Leistung beeinträchtigen.
Im folgenden Beispiel wird ein Knoten aus seinem übergeordneten Element entfernt.
XElement xmlTree = new XElement("Root", new XElement("Child1", "child1 content"), new XElement("Child2", "child2 content"), new XElement("Child3", "child3 content"), new XElement("Child4", "child4 content"), new XElement("Child5", "child5 content") ); XElement child3 = xmlTree.Element("Child3"); child3.Remove(); Console.WriteLine(xmlTree);
Dieses Beispiel erzeugt folgende Ausgabe:
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.