Kategorie-XML-Export mit Transformation

Wie Sie die Daten aus Access-Tabellen mithilfe von Abfragen in die gewünschten Form bringen, wissen Sie bereits. Dazu eignen sich beispielsweise Auswahl- oder Kreuztabellenabfragen. Sie können aber auch die Inhalte von XML-Dokumenten ganz nach Ihren Wünschen strukturieren. Alles, was Sie benötigen, ist eine passende Transformation. Die notwendigen Informationen landen in einer XSL-Datei und beschreiben, wie die Daten des XML-Dokuments ausgegeben werden sollen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1903_KategorieXMLExportMitTransformation.zip.

Einstiegsbeispiel

Im Artikel XML: Austausch mit Access-Bordmitteln haben wir einen Export in eine XML-Datei definiert, der die Daten der Tabellen tblKategorien und tblArtikel enthält. Das resultierende XML-Dokument enthält Elemente namens tblKategorien, die in Unterelementen die Feldinhalte der Felder dieser Tabelle enthalten sowie weitere Unterelemente namens tblArtikel, welche die Artikel der jeweiligen Kategorie inklusive aller Feldwerte auflistet. Das Ergebnis sieht in stark gekürzter Form etwa wie folgt aus:

<xml version="1.0" encoding="UTF-8">
<dataroot ...>
  <tblKategorien>
    <KategorieID>1</KategorieID>
    <Kategoriename>Getränke</Kategoriename>
    <Beschreibung>Alkoholfreie Ge ...</Beschreibung>
    <Abbildung>FRwvAAIAAAANAA4AFAAhAPAgS...</Abbildung>
    <tblArtikel>
      <ArtikelID>1</ArtikelID>
      <Artikelname>Chai</Artikelname>
      ...
    </tblArtikel>
    <tblArtikel>
      ...
    </tblArtikel>
    ...
  </tblKategorien>
  <tblKategorien>
    ...
  </tblKategorien>
</dataroot>

Wir möchten hier durch die Angabe einer XSL-Datei einige Änderungen an der Ausgabe erwirken. So soll etwa das Wurzelelement nicht dataroot heißen, sondern Bestellverwaltung. Die Elemente tblKategorien und tblArtikel sollen Kategorie und Artikel heißen. Außerdem soll der jeweilige Primärschlüsselwert nicht in einem eigenen Element namens KategorieID beziehungsweise ArtikelID landen, sondern in einem Attribut namens ID im jeweils übergeordneten Element Kategorie beziehungsweise Artikel. Außerdem wollen wir der Übersicht halber nur die Felder Kategoriename und Beschreibung der Tabelle tblKategorien sowie das Feld Artikelname der Tabelle tblArtikel als eigene Elemente in das XML-Dokument aufnehmen. Außerdem, das ist uns als Mensch im Gegensatz zur Maschine besonders wichtig, sollen die Elemente entsprechend der Hierarchie eingerückt dargestellt werden.

Das Ergebnis soll also etwa wie folgt aussehen:

<xml version="1.0" encoding="UTF-16">
<Bestellverwaltung ...>
  <Kategorie ID="1">
    <Kategoriename>Getränke</Kategoriename>
    <Beschreibung>Alkoholfreie Getränke, Kaffee, Tee, Bier</Beschreibung>
    <Artikel ID="1">
      <Artikelname>Chai</Artikelname>
    </Artikel>
    <Artikel ID="2">
      <Artikelname>Chang</Artikelname>
    </Artikel>
    ...
  </Kategorie>
  <Kategorie ID="2">
    ...
  </Kategorie>
  ...
</Bestellverwaltung>

Selektieren und Formatieren per XSL-Datei

Die XSL-Datei, die wir verwenden, sieht in der Übersicht wie in Listing 1 aus. Wir werden diese nun analysieren.

Access [basics]

Unser exklusives Angebot für Dich!

Access im Unternehmen
7,90 € im Monat*

(Das Abo ist jederzeit monatlich kündbar)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →