XContainer.Descendants XContainer.Descendants XContainer.Descendants XContainer.Descendants Method

정의

이 문서 또는 요소의 하위 요소가 문서순으로 들어 있는 컬렉션을 반환합니다.Returns a collection of the descendant elements for this document or element, in document order.

오버로드

Descendants() Descendants() Descendants() Descendants()

이 문서 또는 요소의 하위 요소가 문서순으로 들어 있는 컬렉션을 반환합니다.Returns a collection of the descendant elements for this document or element, in document order.

Descendants(XName) Descendants(XName) Descendants(XName) Descendants(XName)

이 문서 또는 요소의 하위 요소가 문서순으로 들어 있는 필터링된 컬렉션을 반환합니다.Returns a filtered collection of the descendant elements for this document or element, in document order. 일치하는 XName이 있는 요소만 컬렉션에 포함됩니다.Only elements that have a matching XName are included in the collection.

설명

이 메서드는 지연된 실행을 사용합니다.This method uses deferred execution.

Descendants() Descendants() Descendants() Descendants()

이 문서 또는 요소의 하위 요소가 문서순으로 들어 있는 컬렉션을 반환합니다.Returns a collection of the descendant elements for this document or element, in document order.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Descendants();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants ();
member this.Descendants : unit -> seq<System.Xml.Linq.XElement>
Public Function Descendants () As IEnumerable(Of XElement)

반환

IEnumerable<T>의 하위 요소가 들어 있는 XElementXContainer입니다.An IEnumerable<T> of XElement containing the descendant elements of the XContainer.

예제

다음 예제에서는 XML 트리를 만들고이 축 메서드를 사용 하 여 하위 항목을 검색 합니다.The following example creates an XML tree, and then uses this axis method to retrieve the descendants.

XElement xmlTree = new XElement("Root",  
    new XAttribute("Att1", "AttributeContent"),  
    new XElement("Child",  
        new XText("Some text"),  
        new XElement("GrandChild", "element content")  
    )  
);  
IEnumerable<XElement> de =  
    from el in xmlTree.Descendants()  
    select el;  
foreach (XElement el in de)  
    Console.WriteLine(el.Name);  
' Attributes are not nodes, so will not be returned by DescendantNodes.  
Dim xmlTree As XElement = _  
    <Root Att1="AttributeContent">  
        <Child>Some text  
            <GrandChild>element content</GrandChild>  
        </Child>  
    </Root>  
Dim de = From el In xmlTree.Descendants _  
         Select el  

For Each el In de  
    Console.WriteLine(el.Name)  
Next  

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

Child  
GrandChild  

설명

이 메서드는 반환 하지 자체 결과 IEnumerable<T>합니다.Note that this method will not return itself in the resulting IEnumerable<T>. 참조 DescendantsAndSelf 현재 포함 하는 경우 XElement 결과에서입니다.See DescendantsAndSelf if you need to include the current XElement in the results.

이 메서드는 지연된 실행을 사용합니다.This method uses deferred execution.

추가 정보

Descendants(XName) Descendants(XName) Descendants(XName) Descendants(XName)

이 문서 또는 요소의 하위 요소가 문서순으로 들어 있는 필터링된 컬렉션을 반환합니다.Returns a filtered collection of the descendant elements for this document or element, in document order. 일치하는 XName이 있는 요소만 컬렉션에 포함됩니다.Only elements that have a matching XName are included in the collection.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Descendants(System::Xml::Linq::XName ^ name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants (System.Xml.Linq.XName name);
member this.Descendants : System.Xml.Linq.XName -> seq<System.Xml.Linq.XElement>
Public Function Descendants (name As XName) As IEnumerable(Of XElement)

매개 변수

name
XName XName XName XName

일치시킬 XName입니다.The XName to match.

반환

IEnumerable<T>에서 지정된 XElement과 일치하는 하위 요소가 들어 있는 XContainerXName입니다.An IEnumerable<T> of XElement containing the descendant elements of the XContainer that match the specified XName.

예제

다음 예제에서는 요소의 모든 하위 항목을 인쇄합니다.The following example prints all descendants of an element.

// Attributes are not nodes, so will not be returned by DescendantNodes.  
XElement xmlTree = new XElement("Root",  
    new XAttribute("Att1", "AttributeContent"),  
    new XElement("Child",  
        new XText("Some text"),  
        new XElement("GrandChild", "element content")  
    )  
);  
IEnumerable<XElement> de =  
    from el in xmlTree.Descendants("Child")  
    select el;  
foreach (XElement el in de)  
    Console.WriteLine(el.Name);  
' Attributes are not nodes, so will not be returned by the descendants axis.  
Dim xmlTree As XElement = _   
    <Root Att1="AttributeContent">  
         <Child>Some text  
             <GrandChild>element content</GrandChild>  
         </Child>  
     </Root>  

Dim de = From el In xmlTree...<Child> _  
         Select el  

For Each el In de  
    Console.WriteLine(el.Name)  
Next  

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

Child  

다음은 동일한 예에서 이지만 경우 XML 네임 스페이스에 있습니다.The following is the same example, but in this case the XML is in a namespace. 자세한 내용은 XML 네임 스페이스 작업합니다.For more information, see Working with XML Namespaces.

// Attributes are not nodes, so will not be returned by DescendantNodes.  
XNamespace aw = "http://www.adventure-works.com";  
XElement xmlTree = new XElement(aw + "Root",  
    new XAttribute(aw + "Att1", "AttributeContent"),  
    new XElement(aw + "Child",  
        new XText("Some text"),  
        new XElement(aw + "GrandChild", "element content")  
    )  
);  
IEnumerable<XElement> de =  
    from el in xmlTree.Descendants(aw + "Child")  
    select el;  
foreach (XElement el in de)  
    Console.WriteLine(el.Name);  
Imports <xmlns:aw = "http://www.adventure-works.com">  

Module Module1  
    Sub Main()  
        ' Attributes are not nodes, so will not be returned by the descendants axis.  
        Dim xmlTree As XElement = _   
            <aw:Root aw:Att1="AttributeContent">  
                 <aw:Child>Some text  
                     <aw:GrandChild>element content</aw:GrandChild>  
                 </aw:Child>  
             </aw:Root>  

        Dim de = From el In xmlTree...<aw:Child> _  
                 Select el  

        For Each el In de  
            Console.WriteLine(el.Name)  
        Next  
    End Sub  
End Module  

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

{http://www.adventure-works.com}Child  

설명

이 메서드는 지연된 실행을 사용합니다.This method uses deferred execution.

추가 정보

적용 대상