XML ist neben JSON eine der Sprachen, mit der Daten strukturiert in Textdateien gespeichert werden können. XML ähnelt HTML, der Auszeichnungssprache für Internetseiten. Die Inhalte werden in beiden Fällen dort durch bestimmte, in spitzen Klammern eingefasste Bezeichnungen gekennzeichnet und so zum Beispiel im Fall von HTML mit entsprechenden Formatierungen versehen. Unter Access und anderen Anwendungen dient XML der Vereinfachung beim Austausch von Daten zwischen verschiedenen Anwendungen. Wenn beide Anwendungen das gleiche XML-Format kennen, können die Daten etwa aus den Tabellen einer Datenbank in das XML-Format übertragen und dann von der empfangenden Anwendung in diesem Format eingelesen werden.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1903_XML.accdb.
XML: Extensible Markup Language
Die Abkürzung XML steht für Extensible Markup Language. Genauso wie bei HTML (Hypertext Markup Language) steht das M für Markup. Markup steht dabei für Markierung. Die Markup-Elemente in einem XML-Dokument sorgen dabei für die Strukturierung der darin enthaltenen Daten.
XML-Dokumente können sowohl von Maschinen als auch von Menschen recht gut gelesen werden, wobei es für den Menschen natürlich bessere Formate gibt – aber die lassen sich ja durchaus mit der Nutzung der Markup-Elemente aus einem XML-Dokument ableiten.
Das folgende ist ein Beispiel für ein XML-Dokument. Hier finden Sie ein übergeordnetes Element namens Kunden, das mehrere Kunde-Elemente enthält. Für das Kunde-Element ist ein Attribut namens Kundennummer definiert, welches die Kundennummer aufnimmt.
Außerdem gibt es innerhalb des Kunde-Elements weitere Elemente wie zum Beispiel eines für den Vornamen und eines für den Nachnamen. Das Kunde-Element enthält noch eine Element namens Bestellungen, das weitere Unterelemente namens Bestellung liefert. Diese enthalten wiederum ein Attribut namens Bestellnummer und ein Element namens Bestelldatum. Eine Bestellung enthält meist noch weitere Informationen etwa über die Bestellpositionen et cetera, aber für ein einfaches Beispiel wollen wir uns auf die bisher gezeigten Elemente beschränken:
<Kunden> <Kunde Kundennummer="123"> <Nachname>Minhorst</Nachname> <Vorname>André</Vorname> <Bestellungen> <Bestellung Bestellnummer="234"> <Bestelldatum>29.07.2019</Bestelldatum> ... </Bestellung> </Bestellungen> </Kunde> <Kunde Kundennummer="124"> ... </Kunde> </Kunden>
Sie sehen, dass XML nicht nur etwa Daten in Listenform aufnehmen kann, sondern auch Daten in hierarchischer Beziehung.
In einer Access-Datenbank würden Sie die Kundendaten in einer Kunden-Tabelle speichern und die Bestelldaten in einer Bestellungen- und einer Bestellpositionen-Tabelle – wobei diese in der Regel noch eine Artikel-Tabelle referenziert. Unter XML können Sie durch geeignete Strukturierung die Daten mehrerer hierarchisch verknüpfter Tabellen in einer einzigen Datei unterbringen. Die Daten der Kunden-Tabelle landen dabei in den Kunde-Elementen unmittelbar unter dem Kunden-Element. Zum Kunde-Element gibt es ein Bestellungen-Element, das kein, ein oder mehrere Elemente des Typs Bestellung enthält – und so weiter.
öffnende und schließende Elemente
Für XML-Dokumente gibt es einige grundlegende Regeln und außerdem können Sie noch benutzerdefinierte Regel festlegen. Zu den grundlegenden Regeln gehört, dass jedes Tag-Element, als eines der in spitzen Klammern eingefasstes Elemente, durch ein entsprechendes schließendes Element ergänzt werden muss.
Das schließende Element besteht dabei aus einer öffnenden spitzen Klammer, einem Schrägstrich, dem Elementnamen und einer schließenden spitzen Klammer. In unserem Beispiel ist das etwa beim Kunden-Element der Fall:
<Kunden> ... </Kunden>
Dazwischen kann das Element beliebige weitere Elemente enthalten. Wichtig ist dabei, dass auch diese immer durch ein schließendes Element ergänzt werden, auch End-Tag genannt:
<Kunden> <Kunde ...> ... </Kunde> <Kunde ...> ... </Kunde> </Kunden>
Bei Elementen, die keine weiteren Elemente einschließen, sondern beispielsweise komplett leer sind oder auch nur Attribute enthalten, können Sie das öffnende und das schließende Element zusammenfassen. Dazu fügen sie vor der schließenden spitzen Klammer einen Schrägstrich ein:
<Kunde/>
Ein solches Element kann auch Attribute enthalten:
<Kunde Kundennummer="123"/>
Interpretieren des XML-Dokuments
Ein Mensch könnte ein XML-Dokument, bei dem mal ein schließendes Element fehlt oder bei dem ein Tag falsch geschrieben ist, womöglich noch korrekt interpretieren. Wenn Sie das XML-Dokument hingegen maschinell einlesen wollen, dürfen Sie sich keine Fehler erlauben – sonst kann das Dokument nicht interpretiert werden.
Für XML gibt es für alle bekannten Programmiersprachen Bibliotheken, mit denen Sie den Inhalt eines XML-Dokuments lesen können. Dabei ist es nicht nötig, wie etwa bei HTML das ganze Dokument einzulesen und zu verarbeiten, um das gewünschte Ergebnis zu erhalten – nämlich eine optisch ansprechend formatierte Ausgabe im Internetbrowser.
Sie können etwa nur die Kunde-Elemente durchlaufen und die Kundendaten ausgeben oder verarbeiten, ohne die Bestelldaten zu berücksichtigen.
Sie können XML-Dokumente auch auf verschiedene Arten erstellen: Die auf den ersten Blick einfachste wäre, einfach einige Zeilen Text zusammenzustellen, welche die öffnenden und schließenden Elemente sowie die gewünschten Informationen enthalten.
Viel effizienter ist es jedoch, die Elemente über das sogenannte Document Object Model (DOM) zu erstellen und durch untergeordnete Elemente zu ersetzen.
Genau dieses Document Object Model können Sie auch nutzen, um auf die Elemente eines bestehenden XML-Dokuments zuzugreifen.
XML in Webservices
Einer der Einsatzzwecke von XML-Dokumenten ist der Austausch von Daten mittels Webservice. Ein Webservice ist ein Service, der Anfragen über das HTTP- oder HTTPS-Protokoll entgegennimmt und die Antwort über das gleiche Protokoll zurücksendet.
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: