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

Definice

Odebere tento uzel ze svého nadřazeného uzlu.Removes this node from its parent.

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

Výjimky

Příklady

Následující příklad odebere uzel z jeho nadřazeného objektu.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)  

Tento příklad vytvoří následující výstup:This example produces the following output:

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

Poznámky

V Technologie LINQ to XMLLINQ to XML programování byste neměli při dotazování na uzly v dané sadě manipulovat ani upravovat sadu uzlů.In Technologie 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. V praktických případech to znamená, že byste neměli iterovat v sadě uzlů a odebírat je.In practical terms, this means that you should not iterate over a set of nodes and remove them. Místo toho byste je měli vyhodnotit do a List<T> ToList pomocí metody rozšíření.Instead, you should materialize them into a List<T> by using the ToList extension method. Pak můžete iterovat přes seznam a odebrat uzly.Then, you can iterate over the list to remove the nodes. Další informace naleznete v tématu smíšený deklarativní kód/imperativní chyby kódu (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Případně, pokud chcete odebrat sadu uzlů, doporučujeme použít Extensions.Remove metodu.Alternatively, if you want to remove a set of nodes, it is recommended that you use the Extensions.Remove method. Tato metoda zkopíruje uzly do seznamu a poté provede iteraci v seznamu, aby bylo možné uzly odebrat.This method copies the nodes to a list, and then iterates over the list to remove the nodes.

Tato metoda vyvolá Changed Changing události a.This method will raise the Changed and the Changing events.

Ukládá své podřízené uzly jako jednotlivě propojený XNode seznam objektů. XContainerThe XContainer stores its child nodes as a singly-linked list of XNode objects. To znamená, že Remove metoda musí procházet seznam přímých podřízených uzlů v nadřazeném kontejneru.This means that the Remove method must traverse the list of direct child nodes under the parent container. Proto by použití této metody mělo vliv na výkon.Therefore, using this method might affect your performance.

Platí pro

Viz také