XNodeDocumentOrderComparer Class
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Contains functionality to compare nodes for their document order. This class cannot be inherited.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
The XNodeDocumentOrderComparer type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | XNodeDocumentOrderComparer | Initializes a new instance of the XNodeDocumentOrderComparer class. |
| Name | Description | |
|---|---|---|
![]() | Compare | Compares two nodes to determine their relative document order. |
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
This class implements IComparer and IComparer<XNode>.
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 of this class to compare the 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();



