Export (0) Print
Expand All

XNode.IsBefore Method

Determines if the current node appears before a specified node in terms of document order.

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

public bool IsBefore(
	XNode node
)

Parameters

node
Type: System.Xml.Linq.XNode

The XNode to compare for document order.

Return Value

Type: System.Boolean
true if this node appears before the specified node; otherwise false.

The XContainer stores its child nodes as a singly-linked list of XNode objects. This means that the IsBefore method must traverse the ancestors of the two nodes being compared until it finds the common parent. Then it must traverse the list of the common parent’s child nodes to determine the order of the two nodes being compared. Therefore, using this method might affect your performance.

The following example uses this method.

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 child3 = xmlTree.Element("Child3");
XElement child5 = xmlTree.Element("Child5");
if (child5.IsBefore(child3))
    Console.WriteLine("Child5 is before Child3");
else
    Console.WriteLine("Child5 is not before Child3");

[vb]

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 child3 As XElement = xmlTree.<Child3>(0)
Dim child5 As XElement = xmlTree.<Child5>(0)
If (child5.IsBefore(child3)) Then
    Console.WriteLine("Child5 is before Child3")
Else
    Console.WriteLine("Child5 is not before Child3")
End If

This example produces the following output:

Child5 is not before Child3

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

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

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft