Extensions.Remove<T> Method (IEnumerable<T>)
.NET Framework (current version)
Removes every node in the source collection from its parent node.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
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
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
Show: