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

Definition

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

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, beschränkt auf XNode.

Parameter

source
IEnumerable<T>

Eine IEnumerable<T> davon XNode , die die Quellauflistung enthält.

Gibt zurück

Eine IEnumerable<T> davon XNode , die alle Knoten in der Quellauflistung enthält, sortiert in der Dokumentreihenfolge.

Beispiele

Im folgenden Beispiel wird eine Auflistung von Knoten erstellt, die sich nicht in der Dokumentreihenfolge befinden. Anschließend wird diese Achse verwendet, um eine neue Auflistung zu erstellen, in der sich die Knoten in der Dokumentreihenfolge 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 verzögerte Ausführung. Sie listet jedoch zuerst die Quellauflistung auf, sortiert die Knoten in der Dokumentreihenfolge und liefert dann die Ergebnisse.

Gilt für:

Weitere Informationen