Kapitel 12: XML in Theorie und Praxis
<Telefone MitarbeiterId="1" Nummer="0345-12345678"></Telefone>
<Telefone MitarbeiterId="1" Nummer="0171-111222333"></Telefone>
</Telefon>
Wie Sie sehen, werden zum Speichern der Informationen (Nachname, Vorname) Attribute statt Elemente
verwendet. Auf diese Weise ist das Dokument etwas kompakter.
Den Elementen Mitarbeiter sind je zwei (beliebig viele) Elemente aus Telefone zugeordnet, die klassische
1:n-Beziehung aus der relationalen Welt.
Ein XSD-Schema mit Microsoft Access erzeugen
Im vorhergehenden Abschnitt sind wir von einem vorhandenen XSD-Schema ausgegangen. Wie aber kom-
men wir zu einer solchen Datei?
Obwohl Microsoft Access keinen direkten Editor für das Erzeugen von Schemas besitzt, ist es kein Problem,
für bestehenden Beziehungen in der Datenbank ein passendes XSD-Schema zu erzeugen. Verwenden Sie
dazu einfach die XML-Export-Funktion, die auch eine Option zum Erzeugen von Schemadaten bietet.
Analog zum vorhergehenden Beispiel (Telefondaten) wollen wir aus zwei Access-Tabellen eine entspre-
chende Schema-Datei erzeugen.
Erzeugen Sie zunächst zwei Tabellen Mitarbeiter und Telefone mit der in der folgenden Abbildung ge-
zeigten Struktur:
Abbildung 12.9 Tabellenstruktur
Verknüpfen Sie die beiden Tabellen (Datenbanktools/Beziehungen) wie in Abbildung 12.9 gezeigt.
Fügen Sie einige Datensätze in die Tabellen ein.
Markieren Sie die Tabelle Mitarbeiter und wählen Sie Externe Daten/Exportieren/XML-Datei.
Vergeben Sie im folgenden Dialog zunächst einen Dateinamen und klicken Sie auf »Weiter«.
In den anschließend abgefragten Optionen sollten Sie die Option »Schema der Daten (XSD)« markieren
und auf die Schaltfläche »Weitere...« klicken:
Abbildung 12.10 Export-Optionen
Der daraufhin angezeigte Dialog ermöglicht Ihnen sowohl die Auswahl der zur Tabelle Mitarbeiter in
Beziehung stehenden Tabellen als auch die Auswahl des XML-Formats (siehe folgende Abbildung).
762
HINWEIS
Abbildung 12.11 Erweiterte
Export-Optionen
Voraussetzung für die Anzeige der abhängigen Tabellen sind entsprechende Beziehungen in der Datenbank!
Nach dem Klick auf die »OK«-Schaltfläche sollten sich die gewünschte XSD-Datei und natürlich auch
die XML-Datei auf Ihrer Festplatte befinden.
Nach einem Blick in die XML-Datei werden Sie feststellen, dass Access, im Gegensatz zum Beispiel im
vorhergehenden Abschnitt, die Daten in hierarchischer Form anordnet:
Abbildung 12.12 Die Datei Mitarbeiter.xml im Internet Explorer
763
XSD-Schemas
BEISPIEL
Kapitel 12: XML in Theorie und Praxis
Auch das Schema ist deutlich aufwändiger:
Abbildung 12.13 Das von Access erzeugte Schema
Der Import der Daten, zum Beispiel in eine C#-Applikation (ADO.NET), mit Hilfe des obigen Schemas
dürfte jetzt kein Problem mehr darstellen.
C# 2005-Applikation zum Einlesen der obigen XML-Daten
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Xml;
...
private void button1_Click(object sender, EventArgs e)
{
Wir wählen ein
XmlDataDocument-
Objekt, so haben wir ein relationale Sicht auf die Daten (
DataSet-
Eigen-
schaft) und können trotzdem per DOM direkt auf die XML-Daten zugreifen:
XmlDataDocument xmldoc = new XmlDataDocument();
Einlesen des Schemas:
xmldoc.DataSet.ReadXmlSchema("Mitarbeiter.xsd");
764

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.