Übersicht über die XElement-Klasse

Die XElement Klasse ist eine der grundlegenden Klassen in LINQ zu XML. Sie stellt ein XML-Element dar. Die folgende Liste zeigt, wofür Sie diese Klasse verwenden können:

  • Elemente erstellen.
  • Inhalt des Elements ändern.
  • Hinzufügen, Ändern oder Löschen untergeordneter Elemente.
  • Fügen Sie einem Element Attribute hinzu.
  • Serialisieren Sie den Inhalt eines Elements in Textform.

Die Klasse kann auch mit anderen Klassen in System.Xml zusammenarbeiten, wie XmlReader, XmlWriter und XslCompiledTransform.

In diesem Artikel werden die Funktionen beschrieben, die von der XElement Klasse bereitgestellt werden.

Erstellen von XML-Strukturen

Sie können XML-Strukturen auf unterschiedliche Weise erstellen, einschließlich der folgenden:

  • XML-Strukturen in Code konstruieren Weitere Informationen finden Sie unter XML-Strukturen.
  • XML aus verschiedenen Quellen, wie TextReader, Textdateien oder Internetadressen (URLs), analysieren Weitere Informationen finden Sie unter Parse XML.
  • einen XmlReader verwenden, um die Struktur aufzufüllen Weitere Informationen finden Sie unter ReadFrom.
  • Wenn Sie über ein Modul verfügen, das Inhalte in eine XmlWriter schreiben kann, können Sie mithilfe der CreateWriter-Methode einen Writer erstellen, den Writer an das Modul übergeben und dann den Inhalt verwenden, der in die XmlWriter geschrieben wurde, um die XML-Struktur aufzufüllen.

Im folgenden Beispiel wird eine Struktur erstellt. Die C#-Version verwendet geschachtelte Elementerstellungen. Sie können dieselbe Technik in Visual Basic verwenden, in diesem Beispiel werden jedoch XML-Literale verwendet.

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>

Sie können auch eine LINQ-zu-XML-Abfrage verwenden, um eine XML-Struktur aufzufüllen, wie im folgenden Beispiel gezeigt:

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-zu-XML-Abfragen arbeiten auf Achsenmethoden und bieten mehrere flexible und leistungsstarke Möglichkeiten zum Navigieren in einer XML-Struktur.

Weitere Informationen finden Sie unter Übersicht über LINQ-zu-XML-Achsen.

Abfragen von XML-Strukturen

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

Weitere Informationen finden Sie unter Übersicht über XML-Strukturen für Abfragen.

Ändern von XML-Strukturen

Sie können ein Element auf unterschiedliche Weise ändern, einschließlich des Änderns seiner Inhalte oder Attribute. Sie können ein Element auch aus seinem übergeordneten Element entfernen.

Weitere Informationen finden Sie unter Ändern von XML-Strukturen.

Siehe auch