XAttribute.Remove Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Removes this attribute from its parent element.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
| Exception | Condition |
|---|---|
| InvalidOperationException | The parent element is null. |
You can use this method to modify an XML tree. This method will cause events to occur.
There are many scenarios in which you might want to remove a set of attributes. In LINQ to XML programming, you should not manipulate or modify a set of nodes while you are querying for nodes in that set. In practical terms, this means that you should not iterate over a set of attributes and remove them. Instead, you should materialize them into a List<T> using the ToList<TSource> extension method. Then you can iterate over the list, removing the attributes.
Alternatively, if you want to remove a set of attributes, it is recommended that you use the Extensions.Remove method. This method copies the attributes to a list, then iterates over the list, removing the attributes.
The following example creates an element with three attributes. It then removes one of the attributes.
StringBuilder output = new StringBuilder(); XElement root = new XElement("Root", new XAttribute("Att1", "content1"), new XAttribute("Att2", "content2"), new XAttribute("Att3", "content3") ); XAttribute att = root.Attribute("Att2"); att.Remove(); output.Append(root + Environment.NewLine); OutputTextBlock.Text = output.ToString();