XML Verarbeitung mit LINQ to XML

XML (Extensible Markup Language) ist ein bewährtes Format zur hierarchischen Darstellung von Daten. C# bietet mit System.Xml.Linq eine sehr intuitive API, um XML-Dokumente zu lesen, zu filtern und zu erstellen.

1. XML Dokumente laden und navigieren

Die Klasse XDocument erlaubt es, XML-Strukturen direkt aus Dateien oder Strings zu laden.

using System.Xml.Linq;

// XML aus einer Datei laden
XDocument xmlDoc = XDocument.Load("help.xml");

// Wert eines Attributs vom Wurzelelement lesen (z.B. TCHELP author)
string autor = xmlDoc.Root.Attribute("author")?.Value;

Console.WriteLine("Autor: " + autor);

2. Sektionen mit LINQ durchsuchen

Mit der Methode Descendants können Sie tief verschachtelte Elemente gezielt suchen und auflisten.

// Alle <section> Elemente finden
var sektionen = xmlDoc.Descendants("section");

foreach (var sek in sektionen)
{
            string titel = sek.Attribute("name")?.Value;
            Console.WriteLine("Sektion gefunden: " + titel);
}

3. XML dynamisch generieren

Die Erstellung von XML-Dokumenten erfolgt in C# durch eine funktionale Konstruktion, die die Struktur des XMLs direkt im Code widerspiegelt.

XDocument neuesXml = new XDocument(
            new XElement("tchelp", new XAttribute("version", "1.0"),
            new XElement("description", "C# Hilfe-Dokumentation"),
            new XElement("content", "Hier steht der Inhalt...")
    )
);

neuesXml.Save("neue_hilfe.xml");
Zurück zu Modul 8 Übersicht Weiter zu Modul 10: Testing