Extensions.Remove Method (IEnumerable<XAttribute>)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Removes every attribute in the source collection from its parent element.

Namespace:   System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

public static void Remove(
	this IEnumerable<XAttribute> source


Type: System.Collections.Generic.IEnumerable<XAttribute>

An IEnumerable<T> of XAttribute that contains the source collection.

This method uses snapshot semantics—that is, it copies the attributes in the source collection to a System.Collections.Generic.List<T> before disconnecting them from their parents. This is required to avoid issues with mixed imperative/declarative code. For more information, see Mixed Declarative Code-Imperative Code Bugs (LINQ to XML).

The following example retrieves a collection of attributes, and then calls this method to remove them from their parent elements.

                XElement root = new XElement("Root",
    new XAttribute("Att1", 1),
    new XAttribute("Att2", 2),
    new XAttribute("Att3", 3),
    new XAttribute("Att4", 4),
    new XAttribute("Att5", 5)

IEnumerable<XAttribute> atList =
    from at in root.Attributes()
    where (int)at >= 3
    select at;



This example produces the following output:

<Root Att1="1" Att2="2" />

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top