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");