XNode.Remove Méthode

Définition

Supprime ce nœud de son parent.

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

Exceptions

Le parent est null.

Exemples

L’exemple suivant supprime un nœud de son 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)  

Cet exemple produit la sortie suivante :

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

Remarques

Dans LINQ to XML programmation, vous ne devez pas manipuler ou modifier un ensemble de nœuds pendant que vous interrogez les nœuds de cet ensemble. En pratique, cela signifie que vous ne devez pas itérer sur un ensemble de nœuds et les supprimer. Au lieu de cela, vous devez les matérialiser en un à l’aide de la méthode d’extension List<T>ToList . Ensuite, vous pouvez itérer sur la liste pour supprimer les nœuds. Pour plus d’informations, consultez Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Si vous souhaitez supprimer un ensemble de nœuds, il est également recommandé d’utiliser la Extensions.Remove méthode . Cette méthode copie les nœuds dans une liste, puis itère sur la liste pour supprimer les nœuds.

Cette méthode déclenche les Changed événements et Changing .

le XContainer stocke ses nœuds enfants sous la forme d’une liste d’objets XNode liés séparément. Cela signifie que la Remove méthode doit parcourir la liste des nœuds enfants directs sous le conteneur parent. Par conséquent, l’utilisation de cette méthode peut affecter vos performances.

S’applique à

Voir aussi