Compare Method
Collapse the table of content
Expand the table of content

XNodeDocumentOrderComparer.Compare Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Compares two nodes to determine their relative document order.

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

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

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


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft