Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Extensions.Remove<T> Method (IEnumerable<T>)

 

Removes every node in the source collection from its parent node.

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

public static void Remove<T>(
	this IEnumerable<T> source
)
where T : XNode

Parameters

source
Type: System.Collections.Generic.IEnumerable<T>

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

Type Parameters

T

The type of the objects in source, constrained to XNode.

This method uses snapshot semantics—that is, it copies the attributes in the source collection to a 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 elements. It then calls this method to remove the elements from their parent element.


                XElement root = new XElement("Root",
    new XElement("Data", 1),
    new XElement("Data", 2),
    new XElement("Data", 3),
    new XElement("Data", 4),
    new XElement("Data", 5)
);

IEnumerable<XElement> elList =
    from el in root.Elements()
    where (int)el >= 3
    select el;

elList.Remove();

Console.WriteLine(root);

This example produces the following output:

<Root>
  <Data>1</Data>
  <Data>2</Data>
</Root>

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