Parsing sehr großer XML-Dokumente (und ein bisschen mehr) in Java

(Alle folgenden werden in Java geschrieben)

Habe ich eine Anwendung erstellen, die als input-XML-Dokumente, die potentiell sehr groß. Das Dokument wird verschlüsselt-nicht mit XMLsec, aber mit meinen Klienten die bereits vorhandenen Verschlüsselungs-Algorithmus --, erfolgt in drei Phasen:

Erste, der stream wird entschlüsselt werden, die nach dem oben genannten Algorithmus.

Zweite, eine Erweiterung der Klasse (geschrieben von einer Dritten Partei, um eine API-ich bin providing) liest einen gewissen Teil der Datei. Die Menge, die gelesen wird, ist nicht vorhersehbar-insbesondere ist es nicht garantiert, dass in der Kopfzeile der Datei, sondern kann jederzeit auftreten, die in der XML.

Zuletzt ein weiteres extension-Klasse (gleiche Menge) unterteilen des Eingabe-XML-in 1..n Teilmenge von Dokumenten. Es ist möglich, dass diese in einigen teilen überlappen, die Teil des Dokuments behandelt die zweite operation, das heißt: ich glaube, ich muss Zurückspulen, was Mus ich benutze, um den Umgang mit diesem Objekt.

Hier meine Frage:

Gibt es eine Möglichkeit, dies zu tun, ohne jemals zu Lesen das ganze Stück von Daten in den Speicher zu einer Zeit? Natürlich kann ich implementieren, die Entschlüsselung als input stream filter, aber ich bin mir nicht sicher, ob es möglich ist, analysieren von XML in der Weise, die ich bin zu beschreiben; indem Sie gehen über, wie viel von dem Dokument ist erforderlich, um zu sammeln, im zweiten Schritt die Informationen, und dann durch Zurückspulen des Dokuments und überfahren es wieder eine Unterteilung in Arbeitsplätze, im Idealfall die Freigabe alle Teile des Dokuments, die nicht mehr in Gebrauch, nachdem Sie verabschiedet worden.

InformationsquelleAutor der Frage Chris R | 2008-12-10

Schreibe einen Kommentar