XNode.DocumentOrderComparer Egenskap

Definition

Hämtar en jämförelse som kan jämföra den relativa positionen för två noder.

public:
 static property System::Xml::Linq::XNodeDocumentOrderComparer ^ DocumentOrderComparer { System::Xml::Linq::XNodeDocumentOrderComparer ^ get(); };
public static System.Xml.Linq.XNodeDocumentOrderComparer DocumentOrderComparer { get; }
static member DocumentOrderComparer : System.Xml.Linq.XNodeDocumentOrderComparer
Public Shared ReadOnly Property DocumentOrderComparer As XNodeDocumentOrderComparer

Egenskapsvärde

En XNodeDocumentOrderComparer som kan jämföra den relativa positionen för två noder.

Exempel

I följande exempel skapas ett XML-träd med vissa element. Sedan skapas en List<T> av XNode som innehåller vissa element från XML-trädet slumpmässigt. Den sorterar listan med hjälp av den här egenskapen för att hämta en XNodeDocumentOrderComparer, som implementerar gränssnitten System.Collections.IComparer och System.Collections.Generic.IComparer<T> .

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);
Dim xmlTree As XElement = _
        <Root>
            <Child1>1</Child1>
            <Child2>2</Child2>
            <Child3>3</Child3>
            <Child4>4</Child4>
            <Child5>5</Child5>
        </Root>

Dim nodeList As List(Of XNode) = New List(Of 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)

For Each el In nodeList
    Console.WriteLine(el)
Next

Det här exemplet genererar följande utdata:

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

Kommentarer

Den här egenskapen används främst internt för att implementera InDocumentOrder tilläggsmetoden. Den rekommenderade metoden är att använda den tilläggsmetoden i stället för att använda den här egenskapen direkt.

Gäller för

Se även