Kapitel 12: XML in Theorie und Praxis
Vor- und Nachteile von XML
Wie alles im Leben hat auch XML seine Vor- und Nachteile. Mit den folgenden Aufstellungen wollen wir
Ihnen die Entscheidung erleichtern, wann und unter welchen Umständen Sie sich für XML entscheiden
sollten.
Grundsätzlicher Vergleich
Die Vorteile von XML auf einen Blick:
Als offener Standard besitzt XML eine hoher Akzeptanz beim Austausch mit anderen Anwendungen,
insbesondere im Internet.
XML-Dokumente besitzen flexible hierarchische Datenstrukturen, die insbesondere bei objektorientier-
ten Daten mit unterschiedlicher Struktur von Vorteil sind.
XML-Dokumente sind textorientiert und damit auch mit einfachsten Mitteln leicht lesbar.
XML ist selbstbeschreibend und erweiterbar, Einschränkungen wie bei proprietären Datenformaten
existieren nicht.
Es handelt sich um ein plattform- und programmiersprachenunabhängiges Datenformat, das auch
automatisch verarbeitet (Dokumentenanalyse) werden kann. Für XML besteht mit DOM eine einheit-
liche und (fast) überall verfügbare Programmierschnittstelle.
XML-Dokumente lassen sich leicht transformieren, d.h. in ein anderes Format (zum Beispiel HTML
oder auch XML) umwandeln. XML-Dokumente lassen sich auch auf einfache Weise verknüpfen bzw.
zusammensetzen.
XML-Dokumente basieren (meist) auf Unicode und sind damit international nutzbar.
Die Nachteile von XML als Datenformat:
Im Gegensatz zu einer konventionellen Datenbank besitzt XML keine festen Strukturen, was dazu führt,
dass große Teile der Dokumente im Speicher gehalten werden (hohe Systemanforderungen bei großen
Dokumenten). Daraus leitet sich auch eine geringere Performance beim Zugriff auf einzelne Elemente
ab. Dies gilt insbesondere für relationale (tabellenorientierte) Datenbestände.
In XML sind keinerlei eingebaute Sicherheitsmechanismen integriert, für das Ver- und Entschlüsseln
von Inhalten müssen Sie selbst sorgen, was auf Grund der Dokumentenstruktur nicht ganz einfach ist.
Alle Inhalte in XML-Dokumenten sind textbasierend, was in vielen Fällen eine vorherige Konvertierung
der Daten erfordert. Zudem ist die Ablage im Textformat relativ ineffizient, Bilder müssen beispielswei-
se im Base64-Format abgelegt werden, was die Dokumente unnötig aufbläht.
Zeitvergleich ADO/XML
Sicher dürfte Ihnen schon beim Speichern der Bankleitzahlen (siehe Abschnitt »Exportieren«, Seite 795)
aufgefallen sein, dass Ihr Computer zunächst recht hektisch arbeitet. Es dauert einige Sekunden, bis die
XML-Daten erzeugt bzw. später eingelesen sind. Auch die Arbeitsspeicherbelastung ist nicht zu vernachläs-
sigen, für den Internet Explorer werden satte 24 MByte (!) im Task-Manager angezeigt.
806
Derartige Probleme sollten Sie jedoch nicht allzu sehr beschäftigen, die XML-Daten im Internet Explorer
darzustellen ist ja schließlich nicht der Sinn dieser Übung. Etwas anders sieht es bei der Verarbeitung dieser
Daten mittels DOM aus.
Anzeige aller Datensätze
Führen Sie zum Beispiel die beiden folgenden Codeteile aus, werden Sie eine wesentlich bessere Verar-
beitungsgeschwindigkeit für das ADO-Programm feststellen.
DOM-Programm ADO-Programm
Sub testen_XML()
Dim xmlDoc As DOMDocument30
Dim node As IXMLDOMNode
Dim zeit As Single
zeit = Timer
Set xmlDoc = New DOMDocument30
xmlDoc.Load CurrentProject.Path & "\bankleitzahlen.xml"
For Each node In _
xmlDoc.getElementsByTagName("*/Bank")
Debug.Print node.Text
Next
Debug.Print "--------------------------------"
Debug.Print "Zeit : " & Timer – zeit
End Sub
Sub testen_ADO()
Dim rs As New ADODB.Recordset
Dim zeit As Single
zeit = Timer
rs.Open "Bankleitzahlen", CurrentProject.Connection
While Not rs.EOF
Debug.Print rs.Fields("Bank").Value
rs.MoveNext
Wend
Debug.Print "--------------------------------"
Debug.Print "Zeit : " & Timer – zeit
End Sub
Zeit: 8,56 Sekunden Zeit: 4,32 Sekunden
Tabelle 12.15 Vergleich DOM- und ADO-Datenzugriff (gesamte Tabelle)
In beiden Fällen werden alle Datensätze durchlaufen, das ADO-Programm profitiert von der effizienteren
Datenhaltung in einer Access-Datenbank.
Filtern von Datensätzen
Etwas anders sehen die Verhältnisse beim Filtern von Datensätzen aus. Hier brauchen die DOM-Objekte
fast die vierfache Zeit (es werden nur die Veränderungen zum vorhergehenden Testprogramm abgedruckt):
DOM-Programm ADO-Programm
Sub testen_XML()
...
For Each node In xmlDoc.getElementsByTagName
("*/Bank[textnode() = 'DEUTSCHE BANK']")
...
End Sub
Sub testen_ADO()
...
rs.Open "SELECT * FROM Bankleitzahlen WHERE bank =
'Deutsche Bank'", CurrentProject.Connection
...
End Sub
Zeit: 0,812 Sekunden Zeit: 0,199 Sekunden
Tabelle 12.16 Vergleich DOM- und ADO-Datenzugriff (Filtern)
807
Vor- und Nachteile von XML

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.