XNode.Remove Metodo

Definizione

Rimuove questo nodo dal padre.Removes this node from its parent.

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

Eccezioni

L'oggetto padre è null.The parent is null.

Esempi

Nell'esempio seguente viene rimosso un nodo dal relativo elemento padre.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)  

Questo esempio produce il seguente output:This example produces the following output:

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

Commenti

Nella LINQ to XMLLINQ to XML programmazione non è consigliabile modificare o modificare un set di nodi durante l'esecuzione di una query per i nodi in tale set.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 pratica, ciò significa che non è consigliabile eseguire l'iterazione su un set di nodi e rimuoverli.In practical terms, this means that you should not iterate over a set of nodes and remove them. In alternativa, è necessario materializzarli in List<T> un utilizzando il ToList metodo di estensione.Instead, you should materialize them into a List<T> by using the ToList extension method. Quindi, è possibile scorrere l'elenco per rimuovere i nodi.Then, you can iterate over the list to remove the nodes. Per ulteriori informazioni, vedere bug del codice dichiarativo/imperativo misto (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

In alternativa, se si desidera rimuovere un set di nodi, è consigliabile utilizzare il Extensions.Remove metodo.Alternatively, if you want to remove a set of nodes, it is recommended that you use the Extensions.Remove method. Questo metodo copia i nodi in un elenco e quindi scorre l'elenco per rimuovere i nodi.This method copies the nodes to a list, and then iterates over the list to remove the nodes.

Questo metodo genererà gli Changed Changing eventi e.This method will raise the Changed and the Changing events.

Archivia XContainer i relativi nodi figlio come un elenco collegato singolarmente di XNode oggetti.The XContainer stores its child nodes as a singly-linked list of XNode objects. Questo significa che il Remove metodo deve attraversare l'elenco dei nodi figlio diretti nel contenitore padre.This means that the Remove method must traverse the list of direct child nodes under the parent container. Pertanto, l'utilizzo di questo metodo può influire sulle prestazioni.Therefore, using this method might affect your performance.

Si applica a

Vedi anche