IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

[XML][DOM][ZIP] Problème de lecture dans un zip


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 12
    Par défaut [XML][DOM][ZIP] Problème de lecture dans un zip
    Bonjour,
    Je dois lire des fichiers XML dans un zip mais visiblement le parser ferme le stream donc je ne peux lire qu'un seul document.
    Est-ce identique avec Xerces, quelqu'un a-t-il une solution ?
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Document headerDocument = null;
    Document bodyDocument = null;
    DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    ZipInputStream in = new ZipInputStream(new FileInputStream(currentFile));
    ZipEntry entry;
     
    entry = in.getNextEntry();
    while((headerDocument == null || bodyDocument == null) && entry != null) {
    	if("library_header.xml".equals(entry.getName())) {
    		headerDocument = documentBuilder.parse(in);
    	} else if("library_body.xml".equals(entry.getName())) {
    		bodyDocument = documentBuilder.parse(in);
    	}
    	entry = in.getNextEntry();
    }

  2. #2
    Invité de passage
    Inscrit en
    Janvier 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 1
    Par défaut XML et le zip
    bonjour

    moi aussi j'entrain de chercher comment acceder a un fichier XML qui se trouve dans un ZIP. si tu trouve une solution dit moi .

    merci

  3. #3
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    je te conseille de lister les entrées du fichier Zip une par une, et de récupérer le flux spécifique à chacune de ces entrées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ZipFile zf = new ZipFile(currentFile);
    Enumeration e = zf.getEntries();
    while (e.hasMoreElements()) {
      ZipEntry ze = (ZipEntry) e.nextElement();
      if (ze.getName().equals("library_header.xml")) {
        headerDocument = documentBuilder.parse(zf.getInputStream(ze));
    ...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

Discussions similaires

  1. lecture dans un zip ?
    Par arnobase dans le forum SQL
    Réponses: 2
    Dernier message: 11/04/2007, 14h08
  2. [dom][sax]problème à le lecture d'un fichier
    Par floanne dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 02/04/2007, 15h06
  3. Problème de lecture dans un tableau associatif … ?
    Par sadao dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/07/2006, 22h24
  4. Problème de lecture dans un stream!
    Par chrono23 dans le forum C++
    Réponses: 27
    Dernier message: 16/06/2006, 12h08
  5. Problème de lecture dans un fichier xml
    Par Pyra dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2005, 00h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo