XNodeDocumentOrderComparer.Compare(XNode, XNode) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Compares two nodes to determine their relative document order.
public:
virtual int Compare(System::Xml::Linq::XNode ^ x, System::Xml::Linq::XNode ^ y);
public int Compare (System.Xml.Linq.XNode x, System.Xml.Linq.XNode y);
public int Compare (System.Xml.Linq.XNode? x, System.Xml.Linq.XNode? y);
abstract member Compare : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> int
override this.Compare : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> int
Public Function Compare (x As XNode, y As XNode) As Integer
Parameters
Returns
An Int32 that contains 0 if the nodes are equal; -1 if x
is before y
; 1 if x
is after y
.
Implements
Exceptions
The two nodes do not share a common ancestor.
Examples
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
Remarks
We recommend that instead of using this class directly, you use the InDocumentOrder method. This class is used internally by that method.