Dom wurde von W3C entwikelt und ist eine offizielle Empfelung des Konsorziums.
DOM definiert einen Satz von Schnittstellen zur “geparsten” Version eines XML Documents. Dabie liest der Parser das gesammte Documnet und baut im speicher einen Baum. Man kann also die Schnittstellen (Interfaces) zur Manipulation des Baumes nutzen.
Um die Nachteile von DOM zu umgehen wurde SAX erschaffen. Funktionsweise unterscheidet sich komplet fon der Funktionsweise des DOM.
SAX Parser sendet Events. Er mledet wenn er den Anfang eines Elements gefunden hat, und auch das Ende,den Text, den Anfang fom Documet und so weiter. Sie entscheiden sind Wichtig. Auch Sie Entscheiden welche Datenstrukturen verwendet werden sollen um die Daten zu halte. Sie brauchen die nicht benötigten Daten nicht zu speichern.
SAX erzeug also keinerelei Objekte es liefer der Applikation nur die Events. Wenn etwas erzeugt werden soll ist es Ihre Aufgaben.
Sie brauchen auch nicht das Ende des Documnets abzuwarten wenn Sie bereits alles haben was Sie Brauchen.
Versucht Mischung der beiden Ansätze
Um zu verstehn Welche API am besten passt muss man den Aufbau fon allen Schnittstellen verstehen. Darüber hinaus muss man wissen was die eingene Applikatin mit den XML Datengenau tun will. Fileicht werden folgende Fraugen die Auswahlentscheidung erleichtern:
Wir die Appliktion in Java geschriben? Wenn
ja, sollten man JAXP benutzen un dem eigenen Code fon der Implementirung details zu Trennen. denn JAXP arbeitet mit
DOM, SAX, and JDOM;
Halten Sie im Kopf dass, SAX Parser kleiner sind als
DOM Parser. So mach es z.B. sinn in einem Mobilen Gerät eher SAX zu verwenden oder auch in einem Applet. JDOM brauch kleine Portion des Eigencodes aber SAX oder
DOM Parser.
Wenn man ein Document wärend der bearbeitung mehrmals ansprechen möchte ist die SOM Variante wahrscheinlich geeignetter.
Wenn nam nur wenige Abschnitte eines
XML Documents brauch sollte man vileicht eer SAX nutzen. Denn Sie entscheiden was wichtig ist.
Auf den Rechner mit nur wenig Arbeitspeicher ist wahrscheinlich nur SAX geiegnet, unabhängig von nderen Kriterien.
Auch Perl und Python haben sehr gute XML Parsing Tools