XNode.Remove XNode.Remove XNode.Remove XNode.Remove Method

Definition

Entfernt diesen Knoten aus seinem übergeordneten Element.Removes this node from its parent.

public:
 void Remove();
public void Remove ();
member this.Remove : unit -> unit
Public Sub Remove ()

Ausnahmen

Beispiele

Im folgenden Beispiel wird ein Knoten aus seinem übergeordneten Element entfernt.The following example removes a node from its parent.

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);  
Dim xmlTree As XElement = _   
        <Root>  
            <Child1>child1 content</Child1>  
            <Child2>child2 content</Child2>  
            <Child3>child3 content</Child3>  
            <Child4>child4 content</Child4>  
            <Child5>child5 content</Child5>  
        </Root>  
  
Dim child3 As XElement = xmlTree.<Child3>(0)  
child3.Remove()  
Console.WriteLine(xmlTree)  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

<Root>  
  <Child1>child1 content</Child1>  
  <Child2>child2 content</Child2>  
  <Child4>child4 content</Child4>  
  <Child5>child5 content</Child5>  
</Root>  

Hinweise

Beim LINQ to XMLLINQ to XML programmieren sollten Sie eine Gruppe von Knoten nicht bearbeiten oder ändern, während Sie die Knoten in dieser Gruppe Abfragen.In LINQ to XMLLINQ to XML programming, you should not manipulate or modify a set of nodes while you are querying for nodes in that set. In praktischer Hinsicht bedeutet dies, dass Sie eine Gruppe von Knoten nicht durchlaufen und entfernen sollten.In practical terms, this means that you should not iterate over a set of nodes and remove them. Stattdessen sollten Sie Sie mithilfe der List<T> ToList -Erweiterungsmethode in einen materialisieren.Instead, you should materialize them into a List<T> by using the ToList extension method. Anschließend können Sie die Liste durchlaufen, um die Knoten zu entfernen.Then, you can iterate over the list to remove the nodes. Weitere Informationen finden Sie unter Fehler mit gemischtem deklarativem Code/imperativem Code (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Wenn Sie eine Gruppe von Knoten entfernen möchten, empfiehlt es sich, die Extensions.Remove -Methode zu verwenden.Alternatively, if you want to remove a set of nodes, it is recommended that you use the Extensions.Remove method. Diese Methode kopiert die Knoten in eine Liste und durchläuft dann die Liste, um die Knoten zu entfernen.This method copies the nodes to a list, and then iterates over the list to remove the nodes.

Diese Methode gibt das Changed -Ereignis und das Changing -Ereignis aus.This method will raise the Changed and the Changing events.

Speichert XContainer seine untergeordneten Knoten als einzeln verknüpfte Liste von XNode -Objekten.The XContainer stores its child nodes as a singly-linked list of XNode objects. Dies bedeutet, dass Remove die-Methode die Liste der direkt untergeordneten Knoten unter dem übergeordneten Container durchlaufen muss.This means that the Remove method must traverse the list of direct child nodes under the parent container. Daher kann sich die Verwendung dieser Methode auf die Leistung auswirken.Therefore, using this method might affect your performance.

Gilt für:

Siehe auch