Übersicht über die 'XElement'-Klasse

Die XElement-Klasse ist eine der wichtigsten Klassen in LINQ to XML. Sie stellt ein XML-Element dar. 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. Die Klasse kann auch mit anderen Klassen in System.Xml zusammenarbeiten, wie XmlReader, XmlWriter und XslCompiledTransform.

"XElement"-Funktionalität

In diesem Thema wird die von der XElement-Klasse bereitgestellte Funktionalität beschrieben.

Konstruieren von XML-Strukturen

Für das Konstruieren von XML-Strukturen stehen Ihnen verschiedene Möglichkeiten zur Verfügung. So können Sie z. B. Folgendes tun:

  • XML-Strukturen in Code konstruieren Weitere Informationen finden Sie unter Erstellen von XML-Strukturen.

  • XML aus verschiedenen Quellen, wie TextReader, Textdateien oder Internetadressen (URLs), analysieren Weitere Informationen finden Sie unter Analysieren von XML-Dokumenten.

  • einen XmlReader verwenden, um die Struktur aufzufüllen Weitere Informationen finden Sie unter ReadFrom.

  • mit der CreateWriter-Methode einen Writer erstellen, den Writer an das Modul übergeben und dann den in den XmlWriter geschriebenen Inhalt zum Auffüllen der XML-Struktur verwenden, sofern ein Modul vorhanden ist, das Inhalt in einen XmlWriter schreiben kann

Die verbreitetste Variante, eine XML-Struktur zu erstellen, sieht aber wie folgt aus:

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")
            )
        )
    );
Dim contacts As XElement = _
    <Contacts>
        <Contact>
            <Name>Patrick Hines</Name>
            <Phone>206-555-0144</Phone>
            <Address>
                <Street1>123 Main St</Street1>
                <City>Mercer Island</City>
                <State>WA</State>
                <Postal>68042</Postal>
            </Address>
        </Contact>
    </Contacts>

Bei einer weiteren, häufig verwendeten Technik zum Erstellen einer XML-Struktur wird die XML-Struktur anhand der Ergebnisse einer LINQ-Abfrage aufgefüllt, wie dies im folgenden Beispiel dargestellt ist:

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);
Dim srcTree As XElement = _
    <Root>
        <Element>1</Element>
        <Element>2</Element>
        <Element>3</Element>
        <Element>4</Element>
        <Element>5</Element>
    </Root>
Dim xmlTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <%= From el In srcTree.Elements() _
            Where el.Value > 2 _
            Select el %>
    </Root>
Console.WriteLine(xmlTree)

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Serialisieren von XML-Strukturen

Sie können die XML-Struktur in eine File, in einen TextWriter oder in einen XmlWriter serialisieren.

Weitere Informationen finden Sie unter Serialisieren von XML-Strukturen.

Abrufen von XML-Daten über Achsenmethoden

Mit Achsenmethoden können Sie Attribute, untergeordnete Elemente, Nachfolgerelemente und Vorgängerelemente abrufen. LINQ-Abfragen verwenden Achsenmethoden und bieten verschiedene flexible und leistungsstarke Möglichkeiten zum Navigieren durch eine XML-Struktur und zu deren Verarbeitung.

Weitere Informationen finden Sie unter LINQ to XML-Achsen.

Abfragen von XML-Strukturen

Sie können LINQ-Abfragen schreiben, die Daten aus einer XML-Struktur abrufen.

Weitere Informationen finden Sie unter Abfragen von XML-Strukturen.

Ändern von XML-Strukturen

Sie können ein Element auf unterschiedliche Weise ändern, z. B. durch Ändern seines Inhalts oder seiner Attribute. Sie können ein Element auch aus seinem übergeordneten Element entfernen.

Weitere Informationen finden Sie unter Ändern von XML-Strukturen (LINQ to XML).

Siehe auch

Konzepte

Übersicht über die LINQ to XML-Programmierung