Export (0) Print
Expand All

Extensions.Remove Method (IEnumerable(Of XAttribute))

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

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

'Declaration
<ExtensionAttribute> _
Public Shared Sub Remove ( _
	source As IEnumerable(Of XAttribute) _
)

Parameters

source
Type: System.Collections.Generic.IEnumerable(Of XAttribute)

An IEnumerable(Of T) of XAttribute that contains the source collection.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable(Of XAttribute). When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

This method uses snapshot semantics—that is, it copies the attributes in the source collection to a System.Collections.Generic.List(Of 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.

Dim root As XElement = <Root Att1="1" Att2="2" Att3="3" Att4="4" Att5="5"/>

Dim atList = From at In root.Attributes _
             Where at.Value >= 3 _
             Select at

atList.Remove()

Console.WriteLine(root)

This example produces the following output:

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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft