Extensions.InDocumentOrder<T>(IEnumerable<T>) 方法

定義

傳回包含來源集合中所有節點的節點集合,依據文件順序來排序。

C#
public static System.Collections.Generic.IEnumerable<T> InDocumentOrder<T> (this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XNode;

類型參數

T

source 中物件的型別,限制為 XNode

參數

source
IEnumerable<T>

IEnumerable<T>XNode,其中包含來源集合。

傳回

IEnumerable<T>

包含來源集合中所有節點 (依據文件順序排序) 之 IEnumerable<T>XNode

範例

下列範例會建立不是依檔順序排列的節點集合,然後使用這個座標軸來建立新集合,其中節點會依檔順序排列。

C#
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);  

這個範例會產生下列輸出:

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

備註

這個座標軸方法會使用延後執行。 不過,它會先列舉其來源集合、依檔順序排序節點,然後產生結果。

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

另請參閱