Zum Inhalt springen

xml-Dateien in Zip-File parsen


Huecheln

Empfohlene Beiträge

Hallo ich hab mal wieder ein Problem mit Zip-Files.

Ich habe ein Zip-File, in dem verschiedene XML-Dateien sind und diese möchte ich mit DOM parsen.

wich ich da mit ungezippten mache steht in dem Beispiel-Code. Aber wie mache ich das mit gezippten Dateien?


File file = new File("test.xml");            

                        System.out.println(file.getName()); 

                        try{ 

                                DOMParser parser = new DOMParser(); 

                                parser.parse(file.getAbsolutePath()); 

                                Document doc = parser.getDocument(); 

                                NodeList nodes = doc.getElementsByTagName("Depends"); 

                                System.out.println("There are " + nodes.getLength()+" elements."); 

                                for(int x=0;x<nodes.getLength();x++){ 

                                        System.out.println(nodes.item(x).getTextContent()); 

                                } 

                        }catch(Exception ex){ 

                                ex.printStackTrace(); 

                        } 


Was nun wenn file = new File("testZip.zip/test.xml") ist ?

Danke schon mal :-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

anstelle von new File(bla.xml)

musst Du FileInputStream() nutzen.

Wenn Du das umprogrammiert hast, kannst Du sehr schnell um den FileInputStream herum noch einen ZipInputStream hängen.

Schau mal die JDK-Hilfen dazu an, das hilft Dir sicher weiter.

Haste da vielleicht mal ein Beispiel für mich, wie man das machen könnte. :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Für welches Problem? Denn es sind zwei Teilaufgaben zu lösen!

Einmal Deinen vorhandenen Code unter Nutzung des FileInpuStreams zu verändern und das zweite ist dann aus dem ZipFile den InpuStream Deiner gewünschten Datei zu bekommen.

Das ist zum Beispiel der Code für das Holen eines InpuStreams aus einer eingetragenen Datei in einer ZIP-Datei.

import java.util.zip.*;

ZipFile file = new ZipFile("datei.zip");

ZipEntry entry = file.getEntry("datei.xml");

InputStream is = file.getInputStream(entry);

Das findet man auch ganz einfach anhand der http://java.sun.com/javase/6/docs/api/, welche Du auf Deiner Entwicklungsmaschine lokal oder direkt im Web als Favoriten offen haben solltest. Und zwar immer, denn das erspart peinliche Fragen :D

Das kannst Du gleich praktisch am Beispiel des DOM-Parsers üben, indem Du anhand der JDK-Hilfe nachschaust, wie der DOM-Parser arbeitet.

Bearbeitet von VaNaTiC
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...