Besseres Parsen von XML-Dokumenten in .NET

Parser, die sich darum kümmern, XML-Dokumente in Plattform-spezifische Objekte zu übersetzen, gibt es traditionellerweise in zwei Varianten: Parser, die eine Baumstruktur nutzen (Tree-based Parser), und solche, die Ereignis-gesteuert sind.

Das .NET Framework verbessert dieses Modell mit der Einführung von XML-Readern, die einen praktischeren „Pull“-Ansatz verfolgen, der nur die interessierenden Daten liefert, im Gegensatz zu dem eher unpraktischen „Push“-Ansatz bisheriger Parser.

Wir wollen zuerst einen Blick auf die grundlegende Struktur traditioneller Parser werfen und dann erläutern, warum der Ansatz von .NET einen Schritt vorwärts bedeutet.

Tree-based Parser

Ein Tree-based Parser liest den gesamten Inhalt eines XML-Dokuments und erstellt im Speicher ein Objekt, das dieses Dokument repräsentiert. Üblicherweise wird das Objekt auf einer Win32-Plattform eine Instanz einer COM-Komponente sein und auf Nicht-Windows-Plattformen eine Java-Klasse. Der Prototyp für ein solches Objekt richtet sich nach den DOM (Document Object Model) Standards Level 1 und 2 des W3C.

Ereignis-gesteuerte Parser

Ein Ereignis-gesteuerter Parser geht nach einem vollständig anderen Prinzip vor und verfolgt andere Zwecke. Ereignis-gesteuerte Parser denken nicht einmal daran, im Speicher ein Abbild des Quelldokuments zu erstellen. Sie parsen das Dokument einfach der Reihe nach und melden den Client-Anwendungen jeden Tag, auf den sie dabei stoßen. Was dann passiert, liegt allein in der Zuständigkeit der Client-Anwendung. Ereignis-gesteuerte Parser speichern keine Informationen zwischen und belegen damit beneidenswert wenig Speicher. Der De-facto-Standard für Ereignis-gesteuerte Parser ist SAX (Simple API for XML).

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

1 Stunde ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

5 Stunden ago

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

5 Stunden ago

MadMxShell: Hacker verbreiten neue Backdoor per Malvertising

Die Anzeigen richten sich an IT-Teams und Administratoren. Ziel ist der Zugriff auf IT-Systeme.

20 Stunden ago

April-Patches für Windows legen VPN-Verbindungen lahm

Betroffen sind Windows 10 und Windows 11. Laut Microsoft treten unter Umständen VPN-Verbindungsfehler auf. Eine…

21 Stunden ago

AMD steigert Umsatz und Gewinn im ersten Quartal

Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.

1 Tag ago