XML Zwischenformat?

Status
Nicht offen für weitere Antworten.
Hi, ich habe mir aus JavadocInfos ein XML erstellt und möchte diese Informationen jetzt nutzen. Wenn ich das XML normal durchsuche dauert das aber zu lange (DOM). Ein Kumpel meinte man könne das XML mappen, also so eine Art Zwischenformat erzeugen. Gemacht habe er das aber auch noch nie... hat jemand vielleicht nen Startpunkt für mich wo man sich da langhangeln kann?
Vielen Dank schonmal im Vorraus.
 
Ja, das XML ist komplett in einer Datei. Ist halt sehr langsam wenn ich einzelne Informationen auslesen will, aber dann werd ich das wohl so machen müssen. Dankeschön!
 

Ullenboom

Bekanntes Mitglied
Aah. Dann bleibt das Programm also nicht immer im Speicher, sondern wird quasi gestartet, die Anfrage gestellt und dann wieder beendet? Dann kommt es auf die Parse-Geschwindigkeit natürlich an.

Eine Idee ist, den DOM-Baum zu serialisieren, also mit ObjectOutputStream einmal zu schreiben und dann immer mit ObjectInputSteam zu lesen. (Ein GZipXXXStream dazwischen wäre sicherlich auch nicht verkehrt.) Xerces als JAXP-Implementierung unterstützt die Serialisierung von DOM-Bäumen (http://xerces.apache.org/xerces2-j/faq-dom.html).

Als Zweites fällt mir da http://java.sun.com/developer/technicalArticles/xml/fastinfoset/ ein, ein binäres und schnelles Format.

Wäre schön, über die Wahl und Performance etwas zu erfahren.
 
Im Prinzip würde ich den XML Baum nur nach einem bestimmten Knoten(namen) durchsuchen wollen. D.h. ich habe zum Beispiel einen Klassennamen und möchte den dazugehörigen Knoten finden und mir ein oder zwei child-Knoten aus diesem abrufen. Ich brauche also nicht alle Informationen des kompletten XML, sondern gezielt einzelne.
Vielen Dank schonmal für die ganzen Infos... so langsam kommt das wissen aus diesem Bereich auch wieder :) Bei meinen Zielen wäre dann doch eigentlich sinnvoll mit SAX zu arbeiten oder sehe ich das falsch - sehr wenig praktische erfahrug mit XML :(
Gruß
 

Ullenboom

Bekanntes Mitglied
Wenn der Baum im Speicher ist, läuft man ihn nie mit der Hand ab. (Vereinfacht gesagt.) Für Anfrangen verwendet man XPath. Ist der Baum nicht im Speicher, ist StAX etwas effizienter als SAX2.
 
Also habe ich jezt die Wahl mir mit DOM den Baum komplett in den Speicher zu laden und dann mit XPath zu durchsuchen, oder mit einer Form von SAX auf das XML zuzugreifen?
Vielen Dank schonmal für die Antworten - haben mich ein ganzes Stück weiter gebracht.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben