XAttribute.Remove Metoda

Definicja

Usuwa ten atrybut z elementu nadrzędnego.Removes this attribute from its parent element.

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

Wyjątki

Element nadrzędny jest null.The parent element is null.

Przykłady

Poniższy przykład tworzy element z trzema atrybutami.The following example creates an element with three attributes. Następnie usuwa jeden z atrybutów.It then removes one of the attributes.

XElement root = new XElement("Root",  
    new XAttribute("Att1", "content1"),  
    new XAttribute("Att2", "content2"),  
    new XAttribute("Att3", "content3")  
);  
XAttribute att = root.Attribute("Att2");  
att.Remove();  
Console.WriteLine(root);  
Dim root As XElement = <Root Att1="content1" Att2="content2" Att3="content3"/>  
Dim att As XAttribute = root.Attribute("Att2")  
att.Remove()  
Console.WriteLine(root)  

Ten przykład generuje następujące wyniki:This example produces the following output:

<Root Att1="content1" Att3="content3" />  

Uwagi

Za pomocą tej metody można modyfikować drzewo XML.You can use this method to modify an XML tree. Ta metoda spowoduje wystąpienie zdarzeń.This method will cause events to occur.

Istnieje wiele scenariuszy, w których można chcieć usunąć zestaw atrybutów.There are many scenarios in which you might want to remove a set of attributes. W programowaniu LINQ do XMLLINQ to XML nie należy manipulować ani modyfikować zestawu węzłów podczas wykonywania zapytań dotyczących węzłów w tym zestawie.In LINQ do XMLLINQ to XML programming, you should not manipulate or modify a set of nodes while you are querying for nodes in that set. W praktyce oznacza to, że nie należy wykonywać iteracji nad zestawem atrybutów i usuwać je.In practical terms, this means that you should not iterate over a set of attributes and remove them. Zamiast tego należy zmaterializowania je do List<T> przy użyciu metody rozszerzenia ToList.Instead, you should materialize them into a List<T> using the ToList extension method. Następnie można wykonać iterację na liście, usuwając atrybuty.Then you can iterate over the list, removing the attributes. Aby uzyskać więcej informacji, zobacz mieszany kod deklaratywny/niezbędny kod (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Alternatywnie, jeśli chcesz usunąć zestaw atrybutów, zalecamy użycie metody Extensions.Remove.Alternatively, if you want to remove a set of attributes, it is recommended that you use the Extensions.Remove method. Ta metoda kopiuje atrybuty do listy, a następnie wykonuje iterację na liście, usuwając atrybuty.This method copies the attributes to a list, then iterates over the list, removing the attributes.

Dotyczy

Zobacz też