XNode.Remove Metodo

Definizione

Rimuove questo nodo dal padre.

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

Eccezioni

L'oggetto padre è null.

Esempio

Nell'esempio seguente viene rimosso un nodo dal relativo padre.

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)  

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Nella programmazione LINQ to XML non è necessario modificare o modificare un set di nodi durante la query per i nodi in tale set. In termini pratici, ciò significa che non è necessario eseguire l'iterazione su un set di nodi e rimuoverli. È invece consigliabile materializzarli in un List<T> usando il ToList metodo di estensione. È quindi possibile eseguire l'iterazione dell'elenco per rimuovere i nodi. Per altre informazioni, vedere Codice dichiarativo misto/Bug del codice imperativo (LINQ to XML).

In alternativa, se si vuole rimuovere un set di nodi, è consigliabile usare il Extensions.Remove metodo . Questo metodo copia i nodi in un elenco e quindi esegue l'iterazione dell'elenco per rimuovere i nodi.

Questo metodo genererà gli Changed eventi e Changing .

I XContainer nodi figlio vengono archiviati come elenco collegato in modo autonomo di XNode oggetti. Ciò significa che il Remove metodo deve attraversare l'elenco di nodi figlio diretti nel contenitore padre. Pertanto, l'uso di questo metodo potrebbe influire sulle prestazioni.

Si applica a

Vedi anche