Extensions.Elements(Of T) Method (IEnumerable(Of T), XName)
Returns a filtered collection of the child elements of every element and document in the source collection. Only elements that have a matching XName are included in the collection.
Namespace: System.Xml.Linq
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
'Declaration <ExtensionAttribute> _ Public Shared Function Elements(Of T As XContainer) ( _ source As IEnumerable(Of T), _ name As XName _ ) As IEnumerable(Of XElement)
Type Parameters
- T
The type of the objects in source, constrained to XContainer.
Parameters
- source
- Type: System.Collections.Generic.IEnumerable(Of T)
An IEnumerable(Of T) of XElement that contains the source collection.
- name
- Type: System.Xml.Linq.XName
The XName to match.
Return Value
Type: System.Collections.Generic.IEnumerable(Of XElement)An IEnumerable(Of T) of XElement of the child elements of every element and document in the source collection. Only elements that have a matching XName are included in the collection.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable(Of T). When you use instance method syntax to call this method, omit the first parameter.| Exception | Condition |
|---|---|
| ArgumentNullException | source is Nothing. |
This extension method is useful when you want to retrieve all elements with a specified name at a particular depth. This is easy if the document is very regular, but if the document is irregular, it can be a bit more difficult. In the following example, we want to retrieve all aaa elements that are children of Item elements. A given Item element may or may not contain an aaa element. This is easily accomplished using this extension method, as follows:
Dim output As New StringBuilder Dim xmlTree As XElement = _ <Root> <Item> <aaa>1</aaa> <bbb>2</bbb> </Item> <Item> <ccc>3</ccc> <aaa>4</aaa> </Item> <Item> <ddd>5</ddd> <eee>6</eee> </Item> </Root> Dim allGrandChildren = From el In xmlTree.<Item>.<aaa> _ Select el For Each el As XElement In allGrandChildren output.Append(el) output.Append(Environment.NewLine) Next OutputTextBlock.Text = output.ToString()
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.