Freigeben über


XNode.DocumentOrderComparer Eigenschaft

Definition

Ruft einen Vergleich ab, der die relative Position von zwei Knoten vergleichen kann.

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

Eigenschaftswert

Ein XNodeDocumentOrderComparer, der die relative Position zweier Knoten vergleichen kann.

Beispiele

Im folgenden Beispiel wird eine XML-Struktur mit einigen Elementen erstellt. Anschließend wird ein List<T> von XNode erstellt, das zufällig einige Elemente aus der XML-Struktur enthält. Die Liste wird mithilfe dieser Eigenschaft sortiert, um eine XNodeDocumentOrderComparerabzurufen, die die System.Collections.IComparer Schnittstellen und System.Collections.Generic.IComparer<T> implementiert.

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  

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Hinweise

Diese Eigenschaft wird hauptsächlich intern für die Implementierung der InDocumentOrder Erweiterungsmethode verwendet. Der empfohlene Ansatz besteht darin, diese Erweiterungsmethode zu verwenden, anstatt diese Eigenschaft direkt zu verwenden.

Gilt für:

Weitere Informationen