Extensions.InDocumentOrder<T>(IEnumerable<T>) Metodo

Definizione

Restituisce una raccolta di nodi che contiene tutti i nodi nella raccolta di origine ordinati in base all'ordine con cui sono riportati nel documento.

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

Parametri di tipo

T

Tipo di oggetti in source vincolati a XNode.

Parametri

source
IEnumerable<T>

IEnumerable<T> di XNode che contiene la raccolta di origine.

Restituisce

IEnumerable<T> di XNode che contiene tutti i nodi nella raccolta di origine ordinati in base all'ordine con cui sono riportati nel documento.

Esempio

L'esempio seguente crea una raccolta di nodi che non sono in ordine di documento e quindi usa questo asse per creare una nuova raccolta in cui i nodi si trovano nell'ordine del 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);  

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Questo metodo dell'asse usa l'esecuzione posticipata. Tuttavia, prima enumera la raccolta di origine, ordina i nodi nell'ordine del documento e quindi restituisce i risultati.

Si applica a

Prodotto Versioni
.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

Vedi anche