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

Définition

Retourne une collection de nœuds qui contient tous les nœuds de la collection source, triés selon l'ordre des documents.

public:
generic <typename T>
 where T : System::Xml::Linq::XNode[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<T> ^ InDocumentOrder(System::Collections::Generic::IEnumerable<T> ^ source);
public static System.Collections.Generic.IEnumerable<T> InDocumentOrder<T> (this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XNode;
static member InDocumentOrder : seq<'T (requires 'T :> System.Xml.Linq.XNode)> -> seq<'T (requires 'T :> System.Xml.Linq.XNode)> (requires 'T :> System.Xml.Linq.XNode)
<Extension()>
Public Function InDocumentOrder(Of T As XNode) (source As IEnumerable(Of T)) As IEnumerable(Of T)

Paramètres de type

T

Type des objets de source, contraint par XNode.

Paramètres

source
IEnumerable<T>

IEnumerable<T> de XNode qui contient la collection source.

Retours

IEnumerable<T>

IEnumerable<T> de XNode qui contient tous les nœuds de la collection source, triés selon l'ordre des documents.

Exemples

L’exemple suivant crée une collection de nœuds qui ne sont pas dans l’ordre du document, puis utilise cet axe pour créer une collection où les nœuds sont dans l’ordre du document.

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);  
Dim xmlTree As XElement = _  
    <Root>  
        <Item>  
            <aaa>1</aaa>  
            <bbb>2</bbb>  
        </Item>  

        <Item>  
            <ccc>3</ccc>  
            <aaa>4</aaa>  
        </Item>  

        <Item>  
            <ddd>5</ddd>  
            <eee>6</eee>  
        </Item>  
    </Root>  

Dim elementList() As XElement = _  
    { _  
        xmlTree...<ddd>(0), _  
        xmlTree...<ccc>(0), _  
        xmlTree...<aaa>(0) _  
    }  

Dim inDocOrder = elementList.InDocumentOrder  

For Each el As XElement In inDocOrder  
    Console.WriteLine(el)  
Next  

Cet exemple produit la sortie suivante :

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

Remarques

Cette méthode d’axe utilise l’exécution différée. Toutefois, elle énumère d’abord sa collection source, trie les nœuds dans l’ordre des documents, puis génère les résultats.

S’applique à

Voir aussi