Compartir vía


XNode.DocumentOrderComparer Propiedad

Definición

Obtiene un comparador que compara la posición relativa de dos nodos.

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

Valor de propiedad

Clase XNodeDocumentOrderComparer que puede comparar la posición relativa de dos nodos.

Ejemplos

En el ejemplo siguiente se crea un árbol XML con algunos elementos. A continuación, crea un List<T> de XNode que contiene algunos elementos del árbol XML de forma aleatoria. Ordena la lista, utilizando esta propiedad para recuperar un XNodeDocumentOrderComparer, que implementa las System.Collections.IComparer interfaces y 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  

Este ejemplo produce el siguiente resultado:

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

Comentarios

Esta propiedad se usa principalmente internamente para implementar el método de InDocumentOrder extensión. El enfoque recomendado es usar ese método de extensión en lugar de usar esta propiedad directamente.

Se aplica a

Consulte también