Übersicht über die XElement-Klasse (C#)XElement Class Overview (C#)

Die XElement-Klasse ist eine der wichtigsten Klassen in LINQ to XMLLINQ to XML.The XElement class is one of the fundamental classes in LINQ to XMLLINQ to XML. Sie stellt ein XML-Element dar.It represents an XML element. Diese Klasse kann zum Erstellen von Elementen, zum Ändern des Inhalts des Elements, zum Hinzufügen, Ändern oder Löschen untergeordneter Elemente, zum Hinzufügen von Attributen zu einem Element oder zum Serialisieren des Inhalts eines Elements in Textform verwendet werden.You can use this class to create elements; change the content of the element; add, change, or delete child elements; add attributes to an element; or serialize the contents of an element in text form. Die Klasse kann auch mit anderen Klassen in System.Xml zusammenarbeiten, wie XmlReader, XmlWriter und XslCompiledTransform.You can also interoperate with other classes in System.Xml, such as XmlReader, XmlWriter, and XslCompiledTransform.

"XElement"-FunktionalitätXElement Functionality

In diesem Thema wird die von der XElement-Klasse bereitgestellte Funktionalität beschrieben.This topic describes the functionality provided by the XElement class.

Konstruieren von XML-StrukturenConstructing XML Trees

Für das Konstruieren von XML-Strukturen stehen Ihnen verschiedene Möglichkeiten zur Verfügung. So können Sie z. B. Folgendes tun:You can construct XML trees in a variety of ways, including the following:

Die verbreitetste Variante, eine XML-Struktur zu erstellen, sieht aber wie folgt aus:However, the most common way to create an XML tree is as follows:

XElement contacts =  
    new XElement("Contacts",  
        new XElement("Contact",  
            new XElement("Name", "Patrick Hines"),   
            new XElement("Phone", "206-555-0144"),  
            new XElement("Address",  
                new XElement("Street1", "123 Main St"),  
                new XElement("City", "Mercer Island"),  
                new XElement("State", "WA"),  
                new XElement("Postal", "68042")  
            )  
        )  
    );  

Bei einer weiteren häufig verwendeten Technik zum Erstellen einer XML-Struktur wird die XML-Struktur anhand der Ergebnisse einer LINQLINQ-Abfrage aufgefüllt, wie im folgenden Beispiel dargestellt wird:Another very common technique for creating an XML tree involves using the results of a LINQLINQ query to populate an XML tree, as shown in the following example:

XElement srcTree = new XElement("Root",  
    new XElement("Element", 1),  
    new XElement("Element", 2),  
    new XElement("Element", 3),  
    new XElement("Element", 4),  
    new XElement("Element", 5)  
);  
XElement xmlTree = new XElement("Root",  
    new XElement("Child", 1),  
    new XElement("Child", 2),  
    from el in srcTree.Elements()  
    where (int)el > 2  
    select el  
);  
Console.WriteLine(xmlTree);  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

<Root>  
  <Child>1</Child>  
  <Child>2</Child>  
  <Element>3</Element>  
  <Element>4</Element>  
  <Element>5</Element>  
</Root>  

Serialisieren von XML-StrukturenSerializing XML Trees

Sie können die XML-Struktur in eine File, in einen TextWriter oder in einen XmlWriter serialisieren.You can serialize the XML tree to a File, a TextWriter, or an XmlWriter.

Weitere Informationen finden Sie unter Serializing XML Trees (C#) (Serialisieren von XML-Strukturen (C#)).For more information, see Serializing XML Trees (C#).

Abrufen von XML-Daten über AchsenmethodenRetrieving XML Data via Axis Methods

Mit Achsenmethoden können Sie Attribute, untergeordnete Elemente, Nachfolgerelemente und Vorgängerelemente abrufen.You can use axis methods to retrieve attributes, child elements, descendant elements, and ancestor elements. LINQLINQ-Abfragen verwenden Achsenmethoden und bieten verschiedene flexible und leistungsstarke Möglichkeiten zum Navigieren durch eine XML-Struktur und zu deren Verarbeitung. queries operate on axis methods, and provide several flexible and powerful ways to navigate through and process an XML tree.

Weitere Informationen finden Sie unter LINQ to XML Axes (C#) (LINQ to XML-Achsen (C#)).For more information, see LINQ to XML Axes (C#).

Abfragen von XML-StrukturenQuerying XML Trees

Sie können LINQLINQ-Abfragen schreiben, die Daten aus einer XML-Struktur abrufen.You can write LINQLINQ queries that extract data from an XML tree.

Weitere Informationen finden Sie unter Querying XML Trees (C#) (Abfragen von XML-Strukturen (C#)).For more information, see Querying XML Trees (C#).

Ändern von XML-StrukturenModifying XML Trees

Sie können ein Element auf unterschiedliche Weise ändern, z. B. durch Ändern seines Inhalts oder seiner Attribute.You can modify an element in a variety of ways, including changing its content or attributes. Sie können ein Element auch aus seinem übergeordneten Element entfernen.You can also remove an element from its parent.

Weitere Informationen finden Sie unter Modifying XML Trees (LINQ to XML) (C#) (Bearbeiten von XML-Strukturen (LINQ to XML) (C#)).For more information, see Modifying XML Trees (LINQ to XML) (C#).

Siehe auchSee Also

LINQ to XML Programming Overview (C#) (Übersicht der LINQ to XML-Programmierung (C#))LINQ to XML Programming Overview (C#)