XElement.DescendantsAndSelf Method

Definition

Returns a collection of elements that contain this element, and all descendant elements of this element, in document order.

Overloads

DescendantsAndSelf(XName)

Returns a filtered collection of elements that contain this element, and all descendant elements of this element, in document order. Only elements that have a matching XName are included in the collection.

DescendantsAndSelf()

Returns a collection of elements that contain this element, and all descendant elements of this element, in document order.

Remarks

This method uses deferred execution.

DescendantsAndSelf(XName)

Returns a filtered collection of elements that contain this element, and all descendant elements of this element, in document order. Only elements that have a matching XName are included in the collection.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ DescendantsAndSelf(System::Xml::Linq::XName ^ name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> DescendantsAndSelf (System.Xml.Linq.XName name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> DescendantsAndSelf (System.Xml.Linq.XName? name);
member this.DescendantsAndSelf : System.Xml.Linq.XName -> seq<System.Xml.Linq.XElement>
Public Function DescendantsAndSelf (name As XName) As IEnumerable(Of XElement)

Parameters

name
XName

The XName to match.

Returns

An IEnumerable<T> of XElement that contain this element, and all descendant elements of this element, in document order. Only elements that have a matching XName are included in the collection.

Examples

The following example creates an XML tree, and then uses this .

XElement xmlTree = new XElement("Root",
    new XAttribute("Att1", "AttributeContent"),
    new XElement("Child",
        new XText("Some text"),
        new XElement("GrandChild", "element content")
    )
);
IEnumerable<XElement> das = xmlTree.DescendantsAndSelf("Child");
foreach (XElement el in das)
    Console.WriteLine(el.Name);
Dim xmlTree As XElement = _
    <Root Att1="AttributeContent">
        <Child>Some text
            <GrandChild>element content</GrandChild>
        </Child>
    </Root>

Dim das As IEnumerable(Of XElement) = xmlTree.DescendantsAndSelf("Child")

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

This example produces the following output:

Child

Remarks

This method uses deferred execution.

See also

Applies to

DescendantsAndSelf()

Returns a collection of elements that contain this element, and all descendant elements of this element, in document order.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ DescendantsAndSelf();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> DescendantsAndSelf ();
member this.DescendantsAndSelf : unit -> seq<System.Xml.Linq.XElement>
Public Function DescendantsAndSelf () As IEnumerable(Of XElement)

Returns

An IEnumerable<T> of XElement of elements that contain this element, and all descendant elements of this element, in document order.

Examples

The following example creates an XML tree, and then uses this .

XElement xmlTree = new XElement("Root",
    new XAttribute("Att1", "AttributeContent"),
    new XElement("Child",
        new XText("Some text"),
        new XElement("GrandChild", "element content")
    )
);
IEnumerable<XElement> das =
    from el in xmlTree.DescendantsAndSelf()
    select el;
foreach (XElement el in das)
    Console.WriteLine(el.Name);
Dim xmlTree As XElement = _
    <Root Att1="AttributeContent">
        <Child>Some text
            <GrandChild>element content</GrandChild>
        </Child>
    </Root>

Dim das As IEnumerable(Of XElement) = _
    From el In xmlTree.DescendantsAndSelf() _
    Select el

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

This example produces the following output:

Root
Child
GrandChild

Remarks

This method uses deferred execution.

See also

Applies to