Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

XContainer.Nodes-Methode

Gibt eine Auflistung der untergeordneten Knoten dieses Dokuments oder Elements in Dokumentreihenfolge zurück.

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)
public IEnumerable<XNode> Nodes()

Rückgabewert

Typ: System.Collections.Generic.IEnumerable<XNode>
Ein IEnumerable<T> vom Typ XNode, das die Inhalte dieses XContainer in Dokumentreihenfolge enthält.

Beachten Sie, dass der Inhalt keine Attribute umfasst. In LINQ to XML werden Attribute nicht als Knoten der Struktur betrachtet. Sie sind einem Element zugeordnete Name-Wert-Paare.

Diese Methode verwendet verzögerte Ausführung.

Im folgenden Beispiel wird eine XML-Struktur mit verschiedenen Typen von Knoten erstellt. Anschließend wird die Achsenmethode abgefragt, um die Knoten aufzulisten und auszugeben.

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

Mit diesem Beispiel wird die folgende Ausgabe erzeugt:

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

Im folgenden Beispiel wird eine XML-Struktur erstellt, die verschiedene Typen von Knoten enthält. Anschließend werden die Teile der Struktur aufgelistet, und die Knotentypen werden ausgegeben.

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);
        }
    }
}

Dieses Beispiel erzeugt folgende Ausgabe:

Comment
ProcessingInstruction
Element
Attribute
Element
CDATA
Element
Text

.NET Framework

Unterstützt in: 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ