Spass mit SAX in VB6

In einem früheren Artikel stellte ich den DOM-Parser von MSXML2 vor und zeigte, wie er sich in eine Musteranwendung für einen Buchkatalog integrieren lässt. In diesem Artikel werden wir den XML-Parser aus SAX-Perspektive betrachten.

Was ist SAX?

Hier ist nur Platz für eine flüchtige Betrachtung der Funktionsweise von SAX. Ein SAX-Parser verschiebt Elemente eines XML-Dokuments in seine Host-Anwendung und zwar in der Reihenfolge, in der er im Dokument auf diese Elemente trifft. Ursprünglich wurde SAX als Java-Parser erschaffen, später wurde SAX auf weitere Sprachen portiert, darunter auch auf Microsofts COM-Implementierung. Als Parser bietet SAX im Vergleich zu DOM einige Vorteile – insbesondere dann, wenn große Dokumente bearbeitet oder nach bestimmten Inhalten durchsucht werden müssen. Dabei ist SAX weit komplexer als DOM, denn um zu wissen, an welcher Stelle in einem Dokument man sich gerade befindet, muss man den Überblick über die Kontextinformationen behalten.

Microsofts SAX-Implementierung

Tatsächlich gibt es in MSXML2 zwei SAX-Implementierungen: eine für VB-Programmierer und eine andere für Entwickler in C++. Aus VB-Perspektive muss man eine Handvoll Klassen beherrschen, um erfolgreich mit SAX arbeiten zu können:

SAXXMLReader: Der Parser selbst
Der VB-spezifische SAX-Parser von MSXML wird durch das IVBSAXXMLReader-Interface definiert. Die Klasse SAXXMLReader ist eine versionsunabhängige Implementierung dieser Klasse und der Reader, den man in Anwendungen einsetzen sollte, will man ihre zukünftige Kompatibilität mit neuen MSXML-Versionen garantieren. Durch Aufruf der Methoden parse oder parseURL wird die Arbeit des Parsers am Dokument gestartet. SAXXMLReader selbst parst Dokumente, gibt aber keine Informationen bezüglich deren Inhalt aus. Um den Parser also tatsächlich verwenden zu können, muss ein Utility-Interface implementiert werden.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

2 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

3 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

3 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

3 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

4 Tagen ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

5 Tagen ago