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 la programmation LINQ to XML, vous ne devez pas manipuler ou modifier un ensemble de nœuds pendant que vous interrogez des nœuds dans ce jeu. 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 List<T> utilisant la méthode d’extension ToList . Ensuite, vous pouvez itérer sur la liste pour supprimer les nœuds. Pour plus d’informations, consultez Code déclaratif mixte/Bogues de code impératifs (LINQ to XML).

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

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

Les XContainer nœuds enfants sont stockés sous la forme d’une liste d’objets XNode liée de manièreingly. 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