Was sind die Unterschiede zwischen DOM, SAX und StAX XML-Parser?
Entwickle ich ein RSS-feed-aggregator mit Apache Tomcat. Ich Frage mich, welcher parser zu verwenden, um das Lesen von RSS-feeds. Sollte ich DOM, SAX oder StAX? Ich weiß, dass es entsprechende Bibliotheken zum Lesen von RSS-feeds mit java, aber da dieses Uni-Projekt bin ich eigentlich nicht, diese zu nutzen.
Danke.
Kann sein das es schon beantwortet wurde stackoverflow.com/questions/373833/... das ist ja eh einer Meinung-orientierte Frage und kann nicht situable für SO
Dein link verweist auf eine Frage zu Fragen über spezifische Implementierungen von xml-Parsern. Diese Frage ist zu Fragen über die verschiedenen Modelle, die von den Parsern.
Dein link verweist auf eine Frage zu Fragen über spezifische Implementierungen von xml-Parsern. Diese Frage ist zu Fragen über die verschiedenen Modelle, die von den Parsern.
InformationsquelleAutor user3067088 | 2014-01-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meistens kommt es auf Ihre Bedürfnisse. Jeder hat seine eigenen Eigenschaften.
DOM - ziehen die ganze Sache in den Speicher und herumgehen. Gut für die vergleichsweise kleine Brocken von XML, die Sie wollen komplexe Dinge mit. XSLT verwendet DOM.
SAX - zu Fuß die XML, wie es ankommt, gerade für die Dinge, wie Sie Fliegen vorbei. Gut für große Datenmengen oder vergleichsweise einfache Verarbeitung.
StAX - ähnlich wie SAX sondern reagieren auf Ereignisse fanden in den stream, den du Durchlaufen der xml - Sehen Wenn soll ich wählen SAX über StAX? für die Diskussion was am besten ist.
Gibt es eine gute Diskussion hier Parsen von XML mit Hilfe von DOM, SAX und StAX-Parser in Java - Von Mohamed Sanaulla. NB: Es gibt einen Fehler in seinem SAX-parser - er sollte Anhängen Zeichen, nicht zu ersetzen, als Zeichen, Daten kumuliert und kommen auch in Stücke schneiden.
sollte
Auch ein blog-post von Kaan Yamanyar Unterschiede zwischen DOM, SAX oder StAX.
Das ist das, was ich meinte mit walk around inside im Gegensatz zu gerade für die Dinge, wie Sie Fliegen vorbei. Dank für die Hervorhebung der Punkt aber.
InformationsquelleAutor OldCurmudgeon
Ich weiß nicht, StAX, aber ich kann etwas sagen zu DOM und SAX:
Dom hält die XML-Daten im Speicher-Objekt-Modell. Der Vorteil ist, dass Sie Zugriff auf und ändern Sie die Daten in eine bequeme und schnelle Art und Weise in Erinnerung. Der Nachteil ist, dass dieses einen hohen Speicherverbrauch.
SAX verwendet eine Art Ereignis-Muster, um Daten zu Lesen und nicht immer alle Daten im Speicher. Der Vorteil ist, dass diese relativ schnell und braucht nicht viel memoryspace. Der Nachteil ist, dass Sie haben, um Ihre eigenen Daten-Modell, wenn Sie möchten, ändern Sie die Daten in eine bequeme Möglichkeit.
Dom ist ein wenig komplexer zu bedienen, im Vergleich zu SAX.
SAX verwenden, wenn Sie brauchen, um zu analysieren, big data-Stream. Verwenden Sie DOM-wenn Sie möchten, halten Sie die kompletten Daten in den Arbeitsspeicher, um mit ihm zu arbeiten, und die Daten-Größe ist klein genug, um sicher zu passen in den Speicher.
Beispiel: XSLT-funktioniert nicht mit SAX, da es nach vorne zu schauen, in den Daten-stream beim Lesen. So verwendet er DOM, auch wenn das führt zu Speicher-Probleme mit großen Daten.
Hoffe, dass hat geholfen 🙂
InformationsquelleAutor treeno