DocumentOrderComparer Property

XNode.DocumentOrderComparer Property

 

Gets a comparer that can compare the relative position of two nodes.

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

public static XNodeDocumentOrderComparer DocumentOrderComparer { get; }

Property Value

Type: System.Xml.Linq.XNodeDocumentOrderComparer

An 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.


                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)
    Console.WriteLine(el);

This example produces the following output:


                <Child1>1</Child1>
<Child3>3</Child3>
<Child5>5</Child5>

Universal Windows Platform
Available since 4.5
.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:
© 2016 Microsoft