# Java/XML - SAX oder DOM ?



## bygones (23. Okt 2003)

Hi,

ich will mich endlich mal mit XML / JAVA auseinandersetzen.

Daher meine Frage, kann man eher SAX oder DOM empfehlen oder sind die beiden nicht zu vergleichen ??

DANKE


----------



## jptc.org (24. Okt 2003)

Kommt eben drauf an was man machen will. Mit DOM kannst Du eine komplettes File in den Speicher einlesen und dann auch die einzelnen Hierarchien zugreifen, d.h. Du hast eigentlich einen kompletten Baum im Speicher. SAX ist mehr Event-getriggert, beim Einlesen des Files werden mit dem Auftretten von Opentags, Endtags... immer Events gefeuert, so dass man darauf reagieren kann. Bei SAX wird die Datei somit gelesen, ein Event gefeuert und der geparste Inhalt wieder verworfen. Mit DOM hast Du immer ein Abbild der Datei im Speicher. Daraus merkt man ziemlich schnell, dass DOM langsamer ist und mehr Speicher verbraucht. Die Entscheidung DOM oder SAX ist meist anwendungsbezogen, je nachdem was man machen möchte (muss).

Karsten Voigt
http://www.java-performance-portal.org


----------



## me.toString (24. Okt 2003)

Also wenn du noch nie was mit XML und Java zu tun gehabt hast, und das xml-File nicht zu groß ist, dann empfehle ich dir DOM für den Anfang. ich finde es ist einfacher zu verstehen und einfacher zu benutzen. 
Aber wenn du Wert auf hohe Performance legst ( d.h. wenn du grosse xml-Files hast ), dann schau dir lieber SAX an. 
Am Besten schaust dir beides an ... denn es wird dir beides immer wieder über den Weg laufen !!

Michael


----------



## bygones (24. Okt 2003)

vielen Dank für die Antworten. 

Ich denke ich werde mir auf alle fälle mal beides anschauen - aber eher dann mal mit DOM anfange.

Das XML File wird nicht allzugroß. Es soll für eine Applikation als Config File dienen in dem v.a. die Menueinträge und andere Infos stehen werden.

Vielen Dank!


----------



## jptc.org (25. Okt 2003)

Naja so habe ich auch mal angefangen  :lol: zuerst DOM weils einfach einfach war und später gemerkt, dass das ganze doch etwas träge und für mich nicht optimal war und so bin ich bei SAX gelandet.

Karsten Voigt
http://www.java-performance-portal.org


----------



## bygones (26. Okt 2003)

:wink: mal schaun, wann ich dann umsteig 

Momentan ist das XML file nicht mal 10 KB groß und eine Trägheit ist noch nicht wirklich zu erkennen....


----------



## jptc.org (26. Okt 2003)

Naja ich musste mal Geschäftsprozessdaten aus XML einlesen, da waren die Dateien zwischen 1 und 50 MB gross und glaub mir da bekommt man den Unterschied gut zu spüren  8) 

Karsten Voigt
http://www.java-performance-portal.org


----------



## mcfly (28. Okt 2003)

Hi
ich weiß es paßt evtl nicht in den thread, aber du scheinst dich mit parsern gut auszukennen karsten,
deshalb meine frage an dich:

kann ich den sax auch starten von ner homepage aus? ihm also sagen er soll dies dokument so und so behandeln mit nem klick auf nen button o.ä.?

danke für die antwort, vielleicht bin ich auch total auf dem holzweg...

ciao
mcfly


----------

