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

정의

소스 컬렉션의 모든 노드가 문서 순으로 정렬되어 들어 있는 노드 컬렉션을 반환합니다.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)

형식 매개 변수

T

XNode로 제한된 source의 개체 형식입니다.The type of the objects in source, constrained to XNode.

매개 변수

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

소스 컬렉션이 들어 있는 IEnumerable<T>XNode입니다.An IEnumerable<T> of XNode that contains the source collection.

반환

소스 컬렉션의 모든 노드가 문서 순으로 정렬되어 들어 있는 IEnumerable<T>XNode입니다.An IEnumerable<T> of XNode that contains all nodes in the source collection, sorted in document order.

예제

다음 예제에서는 문서 순서에 있지 않은 노드 컬렉션 만들고이 축을 사용 하 여이 새 컬렉션을 만드는 문서 순서에 노드가 있는 합니다.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  
  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

설명

이 축 메서드는 지연 된 실행을 사용 합니다.This axis method uses deferred execution. 그러나 먼저 해당 소스 컬렉션을 문서 순서로 노드 종류를 열거 하 고 결과 생성 합니다.However, it first enumerates its source collection, the sorts the nodes in document order, and then yields the results.

적용 대상

추가 정보