Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

XContainer.Elements Method (XName)

Returns a filtered collection of the child elements of this element or document, in document order. Only elements that have a matching XName are included in the collection.

Namespace:  System.Xml.Linq
Assemblies:   System.Xml.Linq (in System.Xml.Linq.dll)
  System.Xml.XDocument (in System.Xml.XDocument.dll)

public IEnumerable<XElement> Elements(
	XName name
)

Parameters

name
Type: System.Xml.Linq.XName

The XName to match.

Return Value

Type: System.Collections.Generic.IEnumerable<XElement>
An IEnumerable<T> of XElement containing the children of the XContainer that have a matching XName, in document order.

This method uses deferred execution.

The following example creates an XML tree, and then selects several child elements using this axis method.

XElement xmlTree = new XElement("Root",
    new XElement("Type1", 1),
    new XElement("Type1", 2),
    new XElement("Type2", 3),
    new XElement("Type2", 4),
    new XElement("Type2", 5)
);
IEnumerable<XElement> elements =
    from el in xmlTree.Elements("Type2")
    select el;
foreach (XElement el in elements)
    Console.WriteLine(el);

This example produces the following output:

<Type2>3</Type2>
<Type2>4</Type2>
<Type2>5</Type2>

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

XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree = new XElement(aw + "Root",
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),
    new XElement(aw + "Type1", 1),
    new XElement(aw + "Type1", 2),
    new XElement(aw + "Type2", 3),
    new XElement(aw + "Type2", 4),
    new XElement(aw + "Type2", 5)
);
IEnumerable<XElement> elements =
    from el in xmlTree.Elements(aw + "Type2")
    select el;
foreach (XElement el in elements)
    Console.WriteLine(el);

This example produces the following output:

<aw:Type2 xmlns:aw="http://www.adventure-works.com">3</aw:Type2>
<aw:Type2 xmlns:aw="http://www.adventure-works.com">4</aw:Type2>
<aw:Type2 xmlns:aw="http://www.adventure-works.com">5</aw:Type2>

.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