XNode.Remove Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Remove este nó do seu pai.
public:
void Remove();
public void Remove();
member this.Remove : unit -> unit
Public Sub Remove ()
Exceções
O progenitor é null.
Exemplos
O exemplo seguinte remove um nó do seu pai.
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)
Este exemplo produz a seguinte saída:
<Root>
<Child1>child1 content</Child1>
<Child2>child2 content</Child2>
<Child4>child4 content</Child4>
<Child5>child5 content</Child5>
</Root>
Observações
Na programação LINQ para XML, não deve manipular ou modificar um conjunto de nós enquanto está a consultar nós desse conjunto. Na prática, isto significa que não deve iterar sobre um conjunto de nós e removê-los. Em vez disso, deve materializá-los List<T> num usando o ToList método de extensão. Depois, podes iterar sobre a lista para remover os nós. Para mais informações, consulte Bugs de Código Declarativo Misto/Código Imperativo (LINQ para XML).
Alternativamente, se quiser remover um conjunto de nós, recomenda-se que use o Extensions.Remove método. Este método copia os nós para uma lista e depois itera sobre a lista para remover os nós.
Este método irá aumentar os Changed e os Changing eventos.
Armazena XContainer os seus nós filhos como uma lista única de XNode objetos. Isto significa que o Remove método deve percorrer a lista de nós filhos diretos sob o contentor pai. Portanto, usar este método pode afetar o seu desempenho.