XNode.DocumentOrderComparer Propriété

Définition

Obtient un comparateur qui peut comparer la position relative de deux nœuds.

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

Valeur de propriété

XNodeDocumentOrderComparer

XNodeDocumentOrderComparer qui peut comparer la position relative de deux nœuds.

Exemples

L’exemple suivant crée une arborescence XML avec certains éléments. Il crée ensuite un List<T> de XNode ces éléments à partir de l’arborescence XML au hasard. Il trie la liste, à l’aide de cette propriété pour récupérer un XNodeDocumentOrderComparer, qui implémente les interfaces et System.Collections.Generic.IComparer<T> les System.Collections.IComparer 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);  
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  

Cet exemple produit la sortie suivante :

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

Remarques

Cette propriété est principalement utilisée en interne pour implémenter la méthode d’extension InDocumentOrder . L’approche recommandée consiste à utiliser cette méthode d’extension au lieu d’utiliser cette propriété directement.

S’applique à

Voir aussi