Extensions.InDocumentOrder<T>(IEnumerable<T>) Método

Definición

Devuelve una colección de nodos que contiene todos los nodos de la colección de origen, clasificados por documento.

C#
public static System.Collections.Generic.IEnumerable<T> InDocumentOrder<T>(this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XNode;

Parámetros de tipo

T

Tipo de los objetos de source, restringido a XNode.

Parámetros

source
IEnumerable<T>

Interfaz IEnumerable<T> de XNode que contiene la colección de origen.

Devoluciones

Interfaz IEnumerable<T> de XNode que contiene todos los nodos de la colección de origen, clasificados por documento.

Ejemplos

En el ejemplo siguiente se crea una colección de nodos que no están en orden de documento y, a continuación, se usa este eje para crear una nueva colección donde los nodos están en orden de documento.

C#
XElement xmlTree = new XElement("Root",  
    new XElement("Item",  
        new XElement("aaa", 1),  
        new XElement("bbb", 2)  
    ),  
    new XElement("Item",  
        new XElement("ccc", 3),  
        new XElement("aaa", 4)  
    ),  
    new XElement("Item",  
        new XElement("ddd", 5),  
        new XElement("eee", 6)  
    )  
);  

XElement[] elementList = {  
    xmlTree.Descendants("ddd").First(),  
    xmlTree.Descendants("ccc").First(),  
    xmlTree.Descendants("aaa").First()  
};  

IEnumerable<XElement> inDocOrder = elementList.InDocumentOrder();  

foreach (XElement el in inDocOrder)  
    Console.WriteLine(el);  

Este ejemplo produce el siguiente resultado:

<aaa>1</aaa>  
<ccc>3</ccc>  
<ddd>5</ddd>  

Comentarios

Este método de eje usa la ejecución diferida. Sin embargo, primero enumera su colección de origen, ordena los nodos en orden de documento y, a continuación, genera los resultados.

Se aplica a

Produto Versións
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Consulte también