Export (0) Print
Expand All

XNodeDocumentOrderComparer.Compare Method

Compares two nodes to determine their relative document order.

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

public int Compare(
	XNode x,
	XNode y
)

Parameters

x
Type: System.Xml.Linq.XNode
The first XNode to compare.
y
Type: System.Xml.Linq.XNode
The second XNode to compare.

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)

ExceptionCondition
InvalidOperationException

The two nodes do not share a common ancestor.

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

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();


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

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

Community Additions

ADD
Show:
© 2014 Microsoft