Export (0) Print
Expand All

XContainer.Descendants Method (XName)

Returns a filtered collection of the descendant elements for this document or element, 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)

'Declaration
Public Function Descendants ( _
	name As XName _
) As IEnumerable(Of XElement)

Parameters

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 containing the descendant elements of the XContainer that match the specified XName.

This method uses deferred execution.

The following example prints all descendants of an element.

' Attributes are not nodes, so will not be returned by the descendants axis.
Dim xmlTree As XElement = _ 
    <Root Att1="AttributeContent">
         <Child>Some text
             <GrandChild>element content</GrandChild>
         </Child>
     </Root>

Dim de = From el In xmlTree...<Child> _
         Select el

For Each el In de
    Console.WriteLine(el.Name)
Next

This example produces the following output:

Child

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

Imports <xmlns:aw = "http://www.adventure-works.com">

Module Module1
    Sub Main()
        ' Attributes are not nodes, so will not be returned by the descendants axis.
        Dim xmlTree As XElement = _ 
            <aw:Root aw:Att1="AttributeContent">
                 <aw:Child>Some text
                     <aw:GrandChild>element content</aw:GrandChild>
                 </aw:Child>
             </aw:Root>

        Dim de = From el In xmlTree...<aw:Child> _
                 Select el

        For Each el In de
            Console.WriteLine(el.Name)
        Next
    End Sub
End Module

This example produces the following output:

{http://www.adventure-works.com}Child

.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