Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
XML ist eines der bekanntesten Datenaustauschformate. XML bedeutet Extensible Markup Language und erlaubt das Speichern von Daten in Textdateien in einem hierarchisch strukturierten Format. Dies wird zum Beispiel in den Konfigurationsdateien eines Visual Studio-Projekts genutzt – und auch XAML, die Sprache zum Definieren von WPF-Benutzeroberflächen, ist auf XML aufgebaut. Wenn Daten zwischen zwei nicht kompatiblen Systemen ausgetauscht werden sollen, kommt oft XML zum Einsatz. Auch wenn Sie Daten von einem Webservice abrufen wollen, kommen die Daten in vielen Fällen im XML-Format. Je nach Webservice können Sie diesem auch Daten im XML-Format schicken, die dann etwa durch Speichern in einer Datenbank weiterverarbeitet werden. Grund genug, sich XML einmal genauer anzusehen und zu schauen, welche Möglichkeiten .NET für das Lesen, Bearbeiten und Erstellen von XML-Dokumenten bietet.
Grundlagen zu XML
XML-Dokumente enthalten strukturierte Daten im ASCII-Format – so können Anwendungen von verschiedenen Plattformen den Inhalt verstehen. Dementsprechend können Sie XML-Dokumente auch in einem einfachen Texteditor öffnen und bearbeiten. XML-Dokumente, die als Datei gespeichert werden, erhalten die Dateiendung .xml, also beispielsweise Kunden.xml.
Ein XML-Dokument in Visual Studio anlegen
Auch wenn XML-Dokumente keinen speziellen Editor benötigen, wollen wir die Fähigkeiten von Visual Studio nutzen. Also öffnen Sie Visual Studio und legen mit Datei|Neu|Datei… eine neue Datei an. Wählen Sie im nun erscheinenden Dialog Neue Datei den Eintag XML-Datei aus. Dies fügt eine neue, leere XML-Datei namens XMLFile1.xml hinzu, die im Verzeichnis C:\Users\
Bild 1: Ein neues, leeres XML-Dokument
XML-Dokument als solches definieren
Damit ein XML-Dokument als solches erkannt werden kann, geben wir in der ersten Zeile einen sogenannten Prolog an. Dieser hat eine andere Syntax als die übrigen XML-Zeilen, der Ihnen von der Programmiersprache PHP bekannt vorkommen könnte:
<xml version="1.0" >
Hier können Sie zusätzlich noch die Kodierung des Dokuments angeben, hier zum Beispiel utf-8:
<xml version="1.0" encoding="utf-8">
Elemente eines XML-Dokuments
Wie im Screenshot oben zu sehen, enthält ein XML-Dokument neben der Zeile mit der XML-Version und der Kodierung also mindestens ein Element auf der obersten Ebene. Ein solches Element hat entweder ein öffnendes und ein schließendes Tag-Element (Starttag und Endtag) oder ein abgeschlossenes Tag-Element (Leertag). Zwischen dem öffnenden und dem schließenden Tag-Element befinden sich untergeordnete Elemente.
Ein abgeschlossenes Tag-Element enthält keine weiteren untergeordneten Elemente. Ein Element mit öffnendem und schließendem Tag sieht wie folgt aus:
<Beispielelement></Beispielelement>
Der Name des Elements muss im öffnenden wie im schließenden Tag genau gleich geschrieben sein – das gilt auch für Groß- und Kleinschreibung. Das geschlossene Element sieht so so:
<Beispielelement />
Das Element wird durch den Schrägstrich vor dem Größer-Zeichen als abgeschlossen markiert. Beide Varianten reichen Visual Studio schon aus, um die Fehlermeldung verschwinden zu lassen. Jedes offene Element kann ein oder mehrere Unterelemente enthalten:
<Hauptelement> <Unterelement /> <Unterelement></Unterelement> </Hauptelement>
Hauptelement und Unterelement sind die Namen der Elemente. Die eigentlichen Daten werden an zwei Stellen gespeichert: in Attributen oder als Werte von Elementen. Attribute werden innerhalb des öffnenden Tags hinter dem Elementnamen angegeben, und zwar durch Attributname und Attributwert. Jeder Attributname darf nur einmal je Element vorkommen, der Attributwert muss in Hochkommata oder Anführungszeichen angegeben werden:
<Hauptelement Beispielattribut="Beispielwert"></Hauptelement>
Bei geschlossenen Elementen landet das Attribut ebenfalls hinter dem Elementnamen:
<Hauptelement Beispielattribut="Beispielwert" />
Außerdem können Sie für jedes Element alternativ zu weiteren untergeordneten Elementen auch eine Zeichenkette als Wert des Elements angeben:
<Elementname>Elementinhalt</Elementname>
Ein Element mit einer Zeichenkette als Inhalt kann keine weiteren Elemente enthalten.
Elementnamen verwenden
Für die Elementnamen gelten bestimmte Regeln:
- Der Elementname folgt unmittelbar auf die öffnende spitze Klammer beziehungsweise beim schließenden Tag hinter dem Schrägstrich.
- Der Elementname darf keine Leerzeichen enthalten.
- Der Elementname darf Buchstaben, Ziffern, Unterstrich, Bindestrich, Punkt und Doppelpunkt enthalten. Doppelpunkte dürfen allerdings nur hinter Namespaces angegeben werden – mehr dazu weiter unten. Als erstes Zeichen dürfen nur Buchstaben zum Einsatz kommen.
- Der Elementname darf nicht mit einer Ziffer oder mit der Zeichenfolge xml beginnen (letzteres wird von Visual Studion nicht bemängelt).
Wohlgeformtheit von XML-Dokumenten