XNode.DocumentOrderComparer Proprietà

Definizione

Ottiene un operatore di confronto che può confrontare la posizione relativa di due nodi.

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

Valore della proprietà

Oggetto XNodeDocumentOrderComparer che può confrontare la posizione relativa di due nodi.

Esempio

Nell'esempio seguente viene creato un albero XML con alcuni elementi. Crea quindi un List<T> oggetto di XNode che contiene alcuni elementi dall'albero XML in modo casuale. Ordina l'elenco usando questa proprietà per recuperare un XNodeDocumentOrderCompareroggetto , che implementa le System.Collections.IComparer interfacce e 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  

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Questa proprietà viene usata internamente per implementare il InDocumentOrder metodo di estensione. L'approccio consigliato consiste nell'usare il metodo di estensione anziché usare direttamente questa proprietà.

Si applica a

Vedi anche