XContainer.Nodes 메서드

정의

이 요소 또는 문서의 자식 노드가 문서순으로 들어 있는 컬렉션을 반환합니다.Returns a collection of the child nodes of this element or document, in document order.

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

반환

IEnumerable<T>의 콘텐츠가 문서순으로 들어 있는 XNodeXContainer입니다.An IEnumerable<T> of XNode containing the contents of this XContainer, in document order.

예제

다음 예제에서는 다양 한 유형의 노드를 사용 하 여 XML 트리를 만듭니다.The following example creates an XML tree with a variety of types of nodes. 다음 열거 하 고 노드를 인쇄 하려면이 축 메서드를 쿼리 합니다.It then queries this axis method to enumerate and print the nodes.

XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XComment("a comment"),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XText("mixed content"),  
    new XElement("Child5", 5)  
);  
IEnumerable<XNode> nodes =  
    from nd in xmlTree.Nodes()  
    select nd;  
foreach (XNode node in nodes)  
    Console.WriteLine(node);  
Dim xmlTree As XElement = _   
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <!--a comment-->  
            <Child3>3</Child3>  
            <Child4>4</Child4>mixed content<Child5>5</Child5>  
            </Root>  
  
Dim nodes = From nd In xmlTree.Nodes() _  
            Select nd  
  
For Each node In nodes  
    Console.WriteLine(node)  
Next  

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

<Child1>1</Child1>  
<Child2>2</Child2>  
<!--a comment-->  
<Child3>3</Child3>  
<Child4>4</Child4>  
mixed content  
<Child5>5</Child5>  

다음 예제에서는 다양 한 유형의 노드를 포함 하는 XML 트리를 만듭니다.The following example creates an XML tree that contains a variety of types of nodes. 그런 다음 트리를 노드 형식 인쇄를 통해 열거 합니다.It then enumerates through portions of the tree, printing the node types.

XDocument xmlTree = new XDocument(  
    new XComment("a comment"),  
    new XProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"hello.xsl\""),  
    new XElement("Root",  
        new XAttribute("Att", "attContent"),  
        new XElement("Child1",  
            new XCData("CDATA content")  
        ),  
        new XElement("Child2",  
            new XText("Text content")  
        )  
    )  
);  
  
foreach (XNode node in xmlTree.Nodes())  
{  
    Console.WriteLine(node.NodeType);  
    if (node.NodeType == XmlNodeType.Element)  
    {  
        foreach (XAttribute att in ((XElement)node).Attributes())  
            Console.WriteLine(att.NodeType);  
        foreach (XNode node2 in ((XElement)node).Nodes())  
        {  
            Console.WriteLine(node2.NodeType);  
            if (node2.NodeType == XmlNodeType.Element)  
                foreach (XNode node3 in ((XElement)node2).Nodes())  
                    Console.WriteLine(node3.NodeType);  
        }  
    }  
}  
Dim xmlTree As XDocument = _   
    <?xml version="1.0" encoding="utf-8"?>  
    <!--a comment-->  
    <?xml-stylesheet type='text/xsl' href='hello.xsl'?>  
    <Root Att="attContent">  
        <Child1><![CDATA[CDATA content]

설명

참고 내용을 특성이 포함 되지 않습니다.Note that the content does not include attributes. LINQ to XMLLINQ to XML, 특성 트리 노드로 간주 되지 않습니다.In LINQ to XMLLINQ to XML, attributes are not considered to be nodes of the tree. 특성은 요소에 연결 된 이름/값 쌍입니다.They are name/value pairs associated with an element.

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

적용 대상

추가 정보