XNodeDocumentOrderComparer.Compare Method

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

Compares two nodes to determine their relative document order.

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

Syntax

'Declaration
Public Function Compare ( _
    x As XNode, _
    y As XNode _
) As Integer
public int Compare(
    XNode x,
    XNode y
)

Parameters

Return Value

Type: System.Int32
An Int32 that contains 0 if the nodes are equal; -1 if x is before y; 1 if x is after y.

Implements

IComparer<T>.Compare(T, T)

Exceptions

Exception Condition
InvalidOperationException

The two nodes do not share a common ancestor.

Remarks

We recommend that instead of using this class directly, you use the InDocumentOrder<T> method. This class is used internally by that method.

Examples

The following example uses this class to compare document order for two nodes.

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 child3 = xmlTree.Element("Child3");
XElement child5 = xmlTree.Element("Child5");
XNodeDocumentOrderComparer documentOrderComparer = new XNodeDocumentOrderComparer();
int val = documentOrderComparer.Compare(child3, child5);
if (val == 0)
    output.Append("Child3 is same as Child5" + Environment.NewLine);
else if (val < 0)
    output.Append("Child3 is before Child5" + Environment.NewLine);
else
    output.Append("Child3 is after Child5" + 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.