Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Extensions::Elements<T> Method (IEnumerable<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
Assemblies:   System.Xml.XDocument (in System.Xml.XDocument.dll)
  System.Xml.Linq (in System.Xml.Linq.dll)

[ExtensionAttribute]
public:
generic<typename T>
where T : XContainer 
static IEnumerable<XElement^>^ Elements(
	IEnumerable<T>^ source, 
	XName^ name
)

Type Parameters

T

The type of the objects in source, constrained to XContainer.

Parameters

source
Type: System.Collections.Generic::IEnumerable<T>

An IEnumerable<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<XElement>
An IEnumerable<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<T>. 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).

Visual Basic users can use the integrated elements axis to retrieve the child elements of every element in a collection.

This method uses deferred execution.

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:

No code example is currently available or this language may not be supported.

This example produces the following output:

<aaa>1</aaa>
<aaa>4</aaa>

The following is the same example, but in this case the XML is in a namespace. For more information, see Working with XML Namespaces.

No code example is currently available or this language may not be supported.

This example produces the following output:

<aaa xmlns="http://www.adventure-works.com">1</aaa>
<aaa xmlns="http://www.adventure-works.com">4</aaa>

.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

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Show:
© 2015 Microsoft