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

Definición

Quita este nodo de su elemento primario.Removes this node from its parent.

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

Excepciones

Ejemplos

En el ejemplo siguiente se quita un nodo de su elemento primario.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)  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

En LINQ to XMLLINQ to XML programación, no debe manipular ni modificar un conjunto de nodos mientras consulta los nodos de ese conjunto.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. En términos prácticos, esto significa que no debe recorrer en iteración un conjunto de nodos y quitarlos.In practical terms, this means that you should not iterate over a set of nodes and remove them. En su lugar, debe materializarlos en un List<T> mediante el método ToList de extensión.Instead, you should materialize them into a List<T> by using the ToList extension method. A continuación, puede recorrer en iteración la lista para quitar los nodos.Then, you can iterate over the list to remove the nodes. Para obtener más información, vea errores de código declarativo/imperativo mixto (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Como alternativa, si desea quitar un conjunto de nodos, se recomienda que use el Extensions.Remove método.Alternatively, if you want to remove a set of nodes, it is recommended that you use the Extensions.Remove method. Este método copia los nodos en una lista y, a continuación, recorre en iteración la lista para quitar los nodos.This method copies the nodes to a list, and then iterates over the list to remove the nodes.

Este método generará los Changed Changing eventos y.This method will raise the Changed and the Changing events.

Almacena sus nodos secundarios como una lista de XNode objetos vinculada individualmente. XContainerThe XContainer stores its child nodes as a singly-linked list of XNode objects. Esto significa que el Remove método debe atravesar la lista de nodos secundarios directos en el contenedor primario.This means that the Remove method must traverse the list of direct child nodes under the parent container. Por lo tanto, el uso de este método puede afectar al rendimiento.Therefore, using this method might affect your performance.

Se aplica a

Consulte también: