XNode.Remove Metoda

Definicja

Usuwa ten węzeł z węzła nadrzędnego.

C#
public void Remove();

Wyjątki

Elementem nadrzędnym jest null.

Przykłady

Poniższy przykład usuwa węzeł z węzła nadrzędnego.

C#
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);  

Ten przykład generuje następujące wyniki:

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

Uwagi

W LINQ to XML programowaniu nie należy manipulować ani modyfikować zestawu węzłów podczas wykonywania zapytań dotyczących węzłów w tym zestawie. W praktyce oznacza to, że nie należy iterować po zestawie węzłów i usuwać je. Zamiast tego należy zmaterializować je w List<T> obiekcie przy użyciu ToList metody rozszerzenia. Następnie można wykonać iterację po liście, aby usunąć węzły. Aby uzyskać więcej informacji, zobacz Mixed Deklaratative Code/Imperatywne usterki kodu (LINQ to XML).

Alternatywnie, jeśli chcesz usunąć zestaw węzłów, zaleca się użycie Extensions.Remove metody . Ta metoda kopiuje węzły do listy, a następnie wykonuje iterację po liście, aby usunąć węzły.

Ta metoda spowoduje wywołanie zdarzeń Changed i Changing .

Obiekt XContainer przechowuje węzły podrzędne jako połączoną ze sobą listę XNode obiektów. Oznacza to, że Remove metoda musi przechodzić przez listę bezpośrednich węzłów podrzędnych w kontenerze nadrzędnym. W związku z tym użycie tej metody może mieć wpływ na wydajność.

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Zobacz też