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

Definition

Gibt eine in Dokumentreihenfolge sortierte Auflistung von Knoten zurück, die alle Knoten in der Quellauflistung enthält.

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)

Typparameter

T

Der Typ der Objekte in source, auf XNode beschränkt.

Parameter

source
IEnumerable<T>

Ein IEnumerable<T> vom Typ XNode, das die Quellauflistung enthält.

Gibt zurück

IEnumerable<T>

Ein IEnumerable<T> vom Typ XNode, das alle Knoten in der Quellauflistung enthält, in Dokumentreihenfolge sortiert.

Beispiele

Im folgenden Beispiel wird eine Auflistung von Knoten erstellt, die sich nicht in dokumentgeordneter Reihenfolge befinden. Anschließend wird diese Achse verwendet, um eine neue Auflistung zu erstellen, in der sich die Knoten in dokumentgeordneter Reihenfolge befinden.

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  

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Hinweise

Diese Achsenmethode verwendet die verzögerte Ausführung. Zuerst werden jedoch die Quellsammlungen aufzählt, die Knoten werden in Dokumentreihenfolge sortiert, und anschließend werden die Ergebnisse angezeigt.

Gilt für

Siehe auch