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; }
static member DocumentOrderComparer : System.Xml.Linq.XNodeDocumentOrderComparer
Public Shared ReadOnly Property DocumentOrderComparer As XNodeDocumentOrderComparer

Valeur de propriété

Qui XNodeDocumentOrderComparer 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> élément qui XNode contient certains éléments 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.IComparer les 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);
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