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

Definition

Gibt eine in Dokumentreihenfolge sortierte Auflistung von Knoten zurück, die alle Knoten in der Quellauflistung enthält.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

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.The type of the objects in source, constrained to XNode.

Parameter

source
IEnumerable<T> IEnumerable<T> IEnumerable<T> IEnumerable<T>

Ein IEnumerable<T> vom Typ XNode, das die Quellauflistung enthält.An IEnumerable<T> of XNode that contains the source collection.

Gibt zurück

Ein IEnumerable<T> vom Typ XNode, das alle Knoten in der Quellauflistung enthält, in Dokumentreihenfolge sortiert.An IEnumerable<T> of XNode that contains all nodes in the source collection, sorted in document order.

Beispiele

Im folgenden Beispiel wird eine Auflistung von Knoten, die nicht in der Dokumentreihenfolge erstellt und verwendet dann diese Achse um eine neue Sammlung erstellt sind, in dem die Knoten in Dokumentreihenfolge.The following example creates a collection of nodes that are not in document order, and then uses this axis to create a new collection where the nodes are in document order.

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:This example produces the following output:

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

Hinweise

Diese Axis-Methode verwendet verzögerte Ausführung.This axis method uses deferred execution. Allerdings werden zuerst zählt die quellauflistung, sortiert die Knoten in Dokumentreihenfolge und klicken Sie dann die Ergebnisse sehen.However, it first enumerates its source collection, the sorts the nodes in document order, and then yields the results.

Gilt für:

Siehe auch