2016-06-22 12 views
-2

Ich würde gerne wissen, was ist der Unterschied zwischen StAX und SAX Parsing in Java?XML Parsing Difence

Kann jemand es so einfach wie möglich erklären, ich verstehe nicht, was es bedeutet, dass der eine Daten zieht und der andere drängt?

+1

http://tutorials.jenkov.com/java-xml/sax-vs-stax.html –

Antwort

1

"Push" und "Pull" beziehen sich auf die Art der Codierung, die verwendet wird.

Bei "Push" registrieren Sie einen "Handler", den der Parser aufruft, während er sich durch das Dokument bewegt. Also registrieren Sie Ihre Handler mit dem Parser und sagen ihm dann, dass er das Dokument analysieren soll. Ihre Handler werden vom Parser aufgerufen, um Ihren Code mitzuteilen, wenn ein Element beginnt, endet usw.

Bei "Pull" steuert Ihr Code den Schritt-für-Schritt-Prozess des Parsens des Dokuments. Es ist wie ein Iterator für das Dokument zu bekommen und Ihr Code wird eine Schleife machen und nach dem nächsten Element vom Parser fragen. Mit anderen Worten, Ihr "Handler" -Code ruft den Parser für das nächste zu handhabende Element auf.

Die verschiedenen Codierungsstile machen verschiedene Arten von Interaktionen mit dem Dokument einfacher oder schwerer. Die Auswahl des für ein bestimmtes Projekt zu verwendenden Stils hängt von den Anforderungen des jeweiligen Projekts ab.