Extensions.Remove(Of T) Method (IEnumerable(Of 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)

<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
Return to top
Show: