Extensions.InDocumentOrder<T>(IEnumerable<T>) Yöntem

Tanım

Kaynak koleksiyondaki tüm düğümleri içeren ve belge düzenine göre sıralanmış bir düğüm koleksiyonu döndürür.

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)

Tür Parametreleri

T

içindeki sourcenesnelerinin türü ile kısıtlanmış XNode.

Parametreler

source
IEnumerable<T>

IEnumerable<T> Kaynak XNode koleksiyonu içeren bir öğe.

Döndürülenler

IEnumerable<T> Kaynak XNode koleksiyondaki tüm düğümleri belge düzenine göre sıralanmış olarak içeren bir öğe.

Örnekler

Aşağıdaki örnek, belge sırasına göre olmayan bir düğüm koleksiyonu oluşturur ve ardından bu ekseni kullanarak düğümlerin belge sırasına uygun olduğu yeni bir koleksiyon oluşturur.

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

Bu örnek aşağıdaki çıkışı oluşturur:

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

Açıklamalar

Bu eksen yöntemi ertelenen yürütmeyi kullanır. Ancak, önce kaynak koleksiyonunu numaralandırır, düğümleri belge düzeninde sıralar ve ardından sonuçları verir.

Şunlara uygulanır

Ayrıca bkz.