Übersicht über LINQ to XML-Achsen (C#)LINQ to XML Axes Overview (C#)

Nachdem Sie eine XML-Struktur erstellt oder ein XML-Dokument in eine XML-Struktur geladen haben, können Sie durch Abfragen der XML-Struktur nach Elementen und Attributen suchen und deren Werte abrufen.After you have created an XML tree or loaded an XML document into an XML tree, you can query it to find elements and attributes and retrieve their values. Das Abrufen von Auflistungen erfolgt über die Achsenmethoden, auch kurz Achsen genannt.You retrieve collections through the axis methods, also called axes. Einige der Achsen sind Methoden in der XElement-Klasse und in der XDocument-Klasse, die IEnumerable<T>-Auflistungen zurückgeben.Some of the axes are methods in the XElement and XDocument classes that return IEnumerable<T> collections. Bei einigen Achsen handelt es sich um Erweiterungsmethoden in der Extensions-Klasse.Some of the axes are extension methods in the Extensions class. Die Achsen, die als Erweiterungsmethode implementiert werden, arbeiten mit Auflistungen und geben Auflistungen zurück.The axes that are implemented as extension methods operate on collections, and return collections.

Wie unter Übersicht über die XElement-Klasse beschrieben wird, stellt ein XElement-Objekt einen einzelnen Elementknoten dar.As described in XElement Class Overview, an XElement object represents a single element node. Der Inhalt eines Elements kann komplex sein (dies wird mitunter als strukturierter Inhalt bezeichnet), es kann sich bei dem Element aber auch um ein einfaches Element handeln.The content of an element can be complex (sometimes called structured content), or it can be a simple element. Ein einfaches Element kann leer sein oder einen Wert enthalten.A simple element can be empty or can contain a value. Wenn der Knoten strukturierten Inhalt enthält, können Sie mit den verschiedenen Achsenmethoden Enumerationen der Nachfolgerelemente abrufen.If the node contains structured content, you can use the various axis methods to retrieve enumerations of descendant elements. Die am häufigsten verwendeten Achsenmethoden sind Elements und Descendants.The most commonly used axis methods are Elements and Descendants.

Neben den Achsenmethoden, die Auflistungen zurückgeben, gibt es zwei weitere Methoden, die häufig in LINQ to XML-Abfragen eingesetzt werden.In addition to the axis methods, which return collections, there are two more methods that you will commonly use in LINQ to XML queries. Die Element-Methode gibt ein einzelnes XElement zurück.The Element method returns a single XElement. Die Attribute-Methode gibt ein einzelnes XAttribute zurück.The Attribute method returns a single XAttribute.

Für viele Zwecke sind LINQLINQ-Abfragen die bessere Variante, eine Struktur zu prüfen, Daten aus einer Struktur zu extrahieren und die Daten zu transformieren.For many purposes, LINQLINQ queries provide the most powerful way to examine a tree, extract data from it, and transform it. LINQLINQ-Abfragen arbeiten mit Objekten, die IEnumerable<T> implementieren, und die LINQ to XML-Achsen geben IEnumerable<T> von XElement-Auflistungen und IEnumerable<T> von XAttribute-Auflistungen zurück. queries operate on objects that implement IEnumerable<T>, and the LINQ to XML axes return IEnumerable<T> of XElement collections, and IEnumerable<T> of XAttribute collections. Diese Auflistungen benötigen Sie zum Ausführen Ihrer Abfragen.You need these collections to perform your queries.

Neben den Achsenmethoden, die Auflistungen von Elementen und Attributen abrufen, gibt es auch Achsenmethoden, die es Ihnen erlauben, die Struktur sehr genau zu durchlaufen.In addition to the axis methods that retrieve collections of elements and attributes, there are axis methods that allow you to iterate through the tree in great detail. So können Sie z. B. anstelle von Elementen und Attributen auch mit den Knoten der Struktur arbeiten.For example, instead of dealing with elements and attributes, you can work with the nodes of the tree. Knoten bieten im Vergleich zu Elementen und Attributen eine höhere Detailgenauigkeit (Granularität).Nodes are a finer level of granularity than elements and attributes. Beim Arbeiten mit Knoten können Sie XML-Kommentare, -Textknoten, -Verarbeitungsanweisungen und anderes untersuchen.When working with nodes, you can examine XML comments, text nodes, processing instructions, and more. Diese Funktionalität ist z. B. für Entwickler wichtig, die ein Textverarbeitungsprogramm schreiben und Dokumente als XML speichern möchten.This functionality is important, for example, to someone who is writing a word processor and wants to save documents as XML. Die Mehrheit der XML-Programmierer hat aber vor allem mit Elementen und Attributen sowie deren Werten zu tun.However, the majority of XML programmers are primarily concerned with elements, attributes, and their values.

Methoden zum Abrufen einer Auflistung von ElementenMethods for Retrieving a Collection of Elements

Im Folgenden finden Sie eine Zusammenfassung der Methoden der XElement-Klasse (bzw. ihrer Basisklassen), die Sie für XElement mit dem Ziel aufrufen, eine Auflistung von Elementen zurückzugeben.The following is a summary of the methods of the XElement class (or its base classes) that you call on an XElement to return a collection of elements.

MethodeMethod BeschreibungDescription
XNode.Ancestors Gibt eine IEnumerable<T> von XElement der Vorgänger dieses Elements zurück.Returns an IEnumerable<T> of XElement of the ancestors of this element. Eine Überladung gibt eine IEnumerable<T> von XElement der Vorgänger mit dem angegebenen XName zurück.An overload returns an IEnumerable<T> of XElement of the ancestors that have the specified XName.
XContainer.Descendants Gibt eine IEnumerable<T> von XElement der Nachfolger dieses Elements zurück.Returns an IEnumerable<T> of XElement of the descendants of this element. Eine Überladung gibt eine IEnumerable<T> von XElement der Nachfolger mit dem angegebenen XName zurück.An overload returns an IEnumerable<T> of XElement of the descendants that have the specified XName.
XContainer.Elements Gibt eine IEnumerable<T> von XElement der untergeordneten Elemente dieses Elements zurück.Returns an IEnumerable<T> of XElement of the child elements of this element. Eine Überladung gibt eine IEnumerable<T> von XElement der untergeordneten Elemente mit dem angegebenen XName zurück.An overload returns an IEnumerable<T> of XElement of the child elements that have the specified XName.
XNode.ElementsAfterSelf Gibt eine IEnumerable<T> von XElement der Elemente zurück, die diesem Element folgen.Returns an IEnumerable<T> of XElement of the elements that come after this element. Eine Überladung gibt eine IEnumerable<T> von XElement der Elemente mit dem angegebenen XName zurück, die diesem Element folgen.An overload returns an IEnumerable<T> of XElement of the elements after this element that have the specified XName.
XNode.ElementsBeforeSelf Gibt eine IEnumerable<T> von XElement der Elemente zurück, die sich vor diesem Element befinden.Returns an IEnumerable<T> of XElement of the elements that come before this element. Eine Überladung gibt eine IEnumerable<T> von XElement der Elemente mit dem angegebenen XName zurück, die sich vor diesem Element befinden.An overload returns an IEnumerable<T> of XElement of the elements before this element that have the specified XName.
XElement.AncestorsAndSelf Gibt eine IEnumerable<T> von XElement dieses Elements und dessen Vorgänger zurück.Returns an IEnumerable<T> of XElement of this element and its ancestors. Eine Überladung gibt eine IEnumerable<T> von XElement der Elemente mit dem angegebenen XName zurück.An overload returns an IEnumerable<T> of XElement of the elements that have the specified XName.
XElement.DescendantsAndSelf Gibt eine IEnumerable<T> von XElement dieses Elements und dessen Nachfolger zurück.Returns an IEnumerable<T> of XElement of this element and its descendants. Eine Überladung gibt eine IEnumerable<T> von XElement der Elemente mit dem angegebenen XName zurück.An overload returns an IEnumerable<T> of XElement of the elements that have the specified XName.

Methode zum Abrufen eines einzelnen ElementsMethod for Retrieving a Single Element

Die folgende Methode ruft ein einzelnes untergeordnetes Element aus einem XElement-Objekt ab.The following method retrieves a single child from an XElement object.

MethodeMethod BeschreibungDescription
XContainer.Element Gibt das erste untergeordnete XElement-Objekt zurück, das den angegebenen XName hat.Returns the first child XElement object that has the specified XName.

Methoden zum Abrufen einer Auflistung von AttributenMethod for Retrieving a Collection of Attributes

Die folgende Methode ruft Attribute aus einem XElement-Objekt ab.The following method retrieves attributes from an XElement object.

MethodeMethod BeschreibungDescription
XElement.Attributes Gibt eine IEnumerable<T> von XAttribute aller Attribute zurück.Returns an IEnumerable<T> of XAttribute of all of the attributes.

Methode zum Abrufen eines einzelnen AttributsMethod for Retrieving a Single Attribute

Die folgende Methode ruft ein einzelnes Attribut aus einem XElement-Objekt ab.The following method retrieves a single attribute from an XElement object.

MethodeMethod BeschreibungDescription
XElement.Attribute Gibt das XAttribute zurück, das den angegebenen XName hat.Returns the XAttribute that has the specified XName.

Siehe auchSee Also

LINQ to XML Axes (C#) (LINQ to XML-Achsen (C#))LINQ to XML Axes (C#)