XNode.Remove Yöntem

Tanım

Bu düğümü üst öğesinden kaldırır.

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

Özel durumlar

Üst öğe şeklindedir null.

Örnekler

Aşağıdaki örnek, bir düğümü üst öğesinden kaldırır.

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)  

Bu örnek aşağıdaki çıkışı oluşturur:

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

Açıklamalar

LINQ to XML programlamada, bu kümedeki düğümleri sorgularken bir düğüm kümesini işlememeli veya değiştirmemelisiniz. Pratikte bu, bir dizi düğüm üzerinde yineleme yapıp bunları kaldırmamanız gerektiği anlamına gelir. Bunun yerine, uzantı yöntemini kullanarak ToList bunları bir List<T> olarak gerçekleştirmeniz gerekir. Ardından, düğümleri kaldırmak için listede yineleme yapabilirsiniz. Daha fazla bilgi için bkz. Karma Bildirim temelli kod/kesinlik temelli kod hataları (LINQ to XML).

Alternatif olarak, bir düğüm kümesini kaldırmak istiyorsanız yöntemini kullanmanız Extensions.Remove önerilir. Bu yöntem, düğümleri bir listeye kopyalar ve ardından düğümleri kaldırmak için liste üzerinde yinelenir.

Bu yöntem ve olaylarını ChangedChanging oluşturur.

alt XContainer düğümlerini nesnelerin tek bağlantılı bir listesi XNode olarak depolar. Bu, yöntemin Remove üst kapsayıcının altındaki doğrudan alt düğümler listesinden geçmesi gerektiği anlamına gelir. Bu nedenle, bu yöntemin kullanılması performansınızı etkileyebilir.

Şunlara uygulanır

Ayrıca bkz.