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>

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

Döndürülenler

IEnumerable<T>

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

Örnekler

Aşağıdaki örnek, belge sırasına uygun 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 ertelenmiş 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.