Extensions.Remove(Of T) Method (IEnumerable(Of 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)
<ExtensionAttribute> Public Shared Sub Remove(Of T As XNode) ( source As IEnumerable(Of T) )
Parameters
- source
-
Type:
System.Collections.Generic.IEnumerable(Of T)
An IEnumerable(Of 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.
Dim root As XElement = _
<Root>
<Data>1</Data>
<Data>2</Data>
<Data>3</Data>
<Data>4</Data>
<Data>5</Data>
</Root>
Dim elList = From el In root.Elements _
Where el.Value >= 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: