XNode.Remove Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rimuove questo nodo dal relativo elemento padre.
public:
void Remove();
public void Remove();
member this.Remove : unit -> unit
Public Sub Remove ()
Eccezioni
L'elemento padre è null.
Esempio
Nell'esempio seguente viene rimosso un nodo dal relativo elemento 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)
In questo esempio viene generato 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 è consigliabile modificare o modificare un set di nodi durante l'esecuzione di query per i nodi in tale set. In termini pratici, ciò significa che non è consigliabile eseguire l'iterazione su un set di nodi e rimuoverli. Al contrario, è necessario materializzarli in un List<T> usando il ToList metodo di estensione. È quindi possibile scorrere l'elenco per rimuovere i nodi. Per altre informazioni, vedere Mixed Declarative Code/Imperative Code Bugs (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 scorre l'elenco per rimuovere i nodi.
Questo metodo genererà gli Changed eventi e Changing .
Archivia XContainer i nodi figlio come elenco XNode di oggetti collegati a singly. 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.