XNode.DocumentOrderComparer Property
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Gets a comparer that can compare the relative position of two nodes.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
Property Value
Type: System.Xml.Linq.XNodeDocumentOrderComparerA XNodeDocumentOrderComparer that can compare the relative position of two nodes.
This property is primarily used internally for implementing the InDocumentOrder<T> extension method. The recommended approach is to use that extension method instead of using this property directly.
The following example creates an XML tree with some elements. It then creates a List<T> of XNode that contains some elements from the XML tree at random. It sorts the list, using this property to retrieve a XNodeDocumentOrderComparer, which implements the System.Collections.IComparer and System.Collections.Generic.IComparer<T> interfaces.
StringBuilder output = new StringBuilder(); XElement xmlTree = new XElement("Root", new XElement("Child1", 1), new XElement("Child2", 2), new XElement("Child3", 3), new XElement("Child4", 4), new XElement("Child5", 5) ); List<XNode> nodeList = new List<XNode>(); nodeList.Add(xmlTree.Element("Child5")); nodeList.Add(xmlTree.Element("Child3")); nodeList.Add(xmlTree.Element("Child1")); // Sort nodes in document order. nodeList.Sort(XNode.DocumentOrderComparer); foreach (XElement el in nodeList) output.Append(el + Environment.NewLine); OutputTextBlock.Text = output.ToString();