Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

XNodeDocumentOrderComparer::Compare Method (XNode^, XNode^)

 

Compares two nodes to determine their relative document order.

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

public:
virtual int Compare(
	XNode^ x,
	XNode^ y
) sealed

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.

Exception Condition
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.


                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)
    Console.WriteLine("Child3 is same as Child5");
else if (val < 0)
    Console.WriteLine("Child3 is before Child5");
else
    Console.WriteLine("Child3 is after Child5");

This example produces the following output:

Child3 is before Child5

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show:
© 2017 Microsoft