fjh: Was macht ein XML:Parser?

Beitrag lesen

Hallo Batterie, äh, sorry Akku ;-)

Wo ist bei einem Parsing-Modul dann der Vorteil?
Ja und wo ist denn nun der Vorteil?
Ubergeb ich dem Modul nur noch die Tag's die mich interessieren und er erstellt dann ne Liste?

Parser stellen Dir die Ergebnisse Ihrer Auswertung über eine Schnittstelle zur Verfügung.
Für XML gibt es da zwei relevante Standards

  • SAX (Simple API for XML-Processing)
  • DOM (Document Object Model)

Beim DOM stellt der Parser deinem Programm (das den Parser in Gang setzt) Dein XML-Dokument als Baum zur Verfügung. Du kannst dann mit Zugriffsmethoden durch diesen Baum navigieren und Dir das raussuchen, was du benötigst, aber auch was hinzufügen.

SAX ist ereignisbasiert. Das bedeutet der Parser meldet Dir: "Dokument hat begonnen" oder auch "<preis>-Element-Starttag ist gerade bei mir vorbeigekommen". Diese Ereignisse kannst du dann mit sogenannten "Event-Handlern" abfangen.
SAX ist i.A. schneller und weniger speicherintensiv, da ja das Dokument nicht als Baum im Hauptspeicher gehalten wird.
Nachteil, du musst Dir eben immer merken, was du brauchst, weil es ja nach dem Ereignis "weg" ist, während du beim DOM immer den Zugriff auf alles hast.

Was XML:Parser unterstützt weiss ich aber nicht.

Gruß
Franz