Share via


XNode.ElementsBeforeSelf Method (XName)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Returns a filtered collection of the sibling elements before this node, in document order. 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)

Syntax

'Declaration
Public Function ElementsBeforeSelf ( _
    name As XName _
) As IEnumerable(Of XElement)
public IEnumerable<XElement> ElementsBeforeSelf(
    XName name
)

Parameters

Return Value

Type: System.Collections.Generic.IEnumerable<XElement>
An IEnumerable<T> of XElement of the sibling elements before this node, in document order. Only elements that have a matching XName are included in the collection.

Remarks

This method only includes siblings in the returned collection. It does not include descendants.

This method uses deferred execution.

Examples

The following example uses this method.

Dim output As New StringBuilder
Dim xmlTree As XElement = _
        <Root>Text content.
<Child1>child1 content</Child1>
            <Child2>child2 content</Child2>
            <Child3>child3 content</Child3>More text content.
<Child4>child4 content</Child4>
            <Child5>child5 content</Child5>
        </Root>

Dim child As XElement = xmlTree.<Child3>(0)
Dim elements As IEnumerable(Of XElement) = child.ElementsBeforeSelf("Child2")

For Each el In elements
    output.Append(el.Name)
    output.Append(Environment.NewLine)
Next

OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XElement xmlTree = new XElement("Root",
    new XText("Text content."),
    new XElement("Child1", "child1 content"),
    new XElement("Child2", "child2 content"),
    new XElement("Child3", "child3 content"),
    new XText("More text content."),
    new XElement("Child4", "child4 content"),
    new XElement("Child5", "child5 content")
);
XElement child = xmlTree.Element("Child3");
IEnumerable<XElement> elements = child.ElementsBeforeSelf("Child2");
foreach (XElement el in elements)
    output.Append(el.Name + Environment.NewLine);

OutputTextBlock.Text = output.ToString();

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.