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 :

Erreur "workbook.dtd (Le fichier spécifié est introuvable)"


Sujet :

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

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut Erreur "workbook.dtd (Le fichier spécifié est introuvable)"
    Bonjour à tous.

    J'ai transformé un fichier excel en fichier xml.
    Voici le mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Workbook iWorkbook;
    		XML iXml;
    		try{
    			iWorkbook=Workbook.getWorkbook(new File(mOutputFile));
    			iXml=new XML(iWorkbook, new FileOutputStream(new File("test.xml")),"ISO-8859-1",false);
    		}
    		catch (BiffException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    Par la suite je veux utiliser le fichier XML. Mais un problème survient.

    C:\workspace\****\workbook.dtd (Le fichier spécifié est introuvable)

    Je tiens à signaler que le fichier XML est bien créé mais que je dois l'ouvrir avec notepad++ sinon un problème du même ordre apparait.

    Comment résoudre ce problème ? merci de votre aide

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 561
    Points : 21 624
    Points
    21 624
    Par défaut
    Je t'ai déjà répondu la dernière fois que tu as demandé.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Oui j'arrive à l'ouvrir manuellement avec notepad++

    C'est quand je veux l'utiliser dans mon code etc que le problème intervient.

    En fait je fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Document iFileDocument = iSxb.build(new File("test.xml"));
    Et là ils me disent

    java.io.FileNotFoundException: C:\workspace\***\workbook.dtd (Le fichier spécifié est introuvable)
    ...
    De plus on ne peut pas parser un fichier de type XML, comment faire par exemple si on veut récupérer un élément du fichier xml ?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 561
    Points : 21 624
    Points
    21 624
    Par défaut
    Notepad++ n'est pas la seule solution dont j'ai parlé. Tu aurais pu t'intéresser aux autres.

    Notamment :
    - régler tes programmes pour qu'ils ne s'intéressent pas aux fichiers .dtd. Après ça dépend de quel programme on parle. Il peut s'agir de juste désactiver la validation XML.

    - régler tes programmes pour qu'ils sachent où aller trouver la .dtd. Là aussi ça dépend de quel programme on parle.

    - copier la .dtd en question à côté du fichier XML généré. Je ne vois pas ce qu'il peut possiblement y avoir de compliqué là-dedans. Je pensais que tu allais te jeter dessus et ne plus jamais avoir de problème, mais tu as l'air de faire comme si j'en avais jamais parlé.

    On pourra aussi essayer :

    - modifier le programme qui génère le XML, pour qu'il n'inclut aucun DOCTYPE, ou un DOCTYPE sans aucune .dtd. Comme ça, pas de .dtd à lire => pas de problème.
    - modifier le programme qui génère le XML, pour qu'il inclut dans le DOCTYPE l'URL complète, absolue, du fichier .dtd demandé. Comme ça les parseurs pourront le trouver, ce fichu fichier.

    De plus on ne peut pas parser un fichier de type XML, comment faire par exemple si on veut récupérer un élément du fichier xml ?
    Bien sûr qu'on peut parser un fichier XML. La plupart des parseurs peuvent être configurés pour ignorer complètement les .dtd, ou bien pour savoir où les trouver. Chacun à sa manière, par contre.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Excuse moi je débute

    C'est vrai que j'ai essayé la première solution proposée et vue qu'elle marchait je n'ai pas voulu regarder plus loin

    Je suis désolé mais je ne sais pas ce qu'est le .dtd ni où le trouver

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 561
    Points : 21 624
    Points
    21 624
    Par défaut
    Citation Envoyé par Leniouns Voir le message
    Je suis désolé mais je ne sais pas ce qu'est le .dtd ni où le trouver
    On ne va pas le deviner. Il sort d'où, ton programme qui génère un XML à partir d'un Excel ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Comment ça il sort d'où ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public Document generateHeader() throws FileNotFoundException, IOException, JDOMException{
     
    Workbook iWorkbook;
    		XML iXml;
    		try{
    			iWorkbook=Workbook.getWorkbook(new File(mOutputFile));
    			iXml=new XML(iWorkbook, new FileOutputStream(new File("test.xml")),"ISO-8859-1",false);
    		}
    		catch (BiffException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    }
    Et ceci est dans une classe présent dans un projet de mon workspace. Enfin je comprend pas trop ce que tu me demandes

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 561
    Points : 21 624
    Points
    21 624
    Par défaut
    Cette classe Workbook, cette classe XML et cette classe BiffException.
    Elles ne sont pas fournies avec Java. Alors où les as-tu prises ? Comment se sont-elles retrouvées dans ton Workspace ?

    C'est pourtant pas compliqué, où as-tu trouvé ton programme qui convertit un Excel en XML ?
    Nous avons besoin de savoir qui il est, pour savoir quel est le workbook.dtd qu'il veut utiliser.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    D'accord.

    Ca vient de là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import jxl.Workbook;
    import jxl.demo.XML;
    import jxl.read.biff.BiffException;

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 561
    Points : 21 624
    Points
    21 624
    Par défaut
    Ma question c'était "où les as-tu téléchargés, comment les fichiers que tu utilises se sont-ils retrouvés sur ton ordinateur, alors qu'ils ne sont livrés ni avec Windows, ni avec Java ?"

    Mais bon, avec ces imports, on peut voir que c'est JExcelApi et son code de démonstration.

    JExcelApi est livré dans une archive .zip ou .tar.gz, et à la racine de cette archive, se trouvent deux fichiers workbook.dtd et formatworkbook.dtd.
    Celui qui t'intéresse est workbook.dtd, à placer à côté des fichiers XML générés avec ce code de démo, ou bien dans les ressources des programmes qui devront parser ces fichiers.
    Il n'est pas disponible en ligne officiellement, car ce n'est pas prévu pour être un vrai format d'échange. Ce n'est qu'un code de démo, qui peut planter pour un oui ou pour un non. Il ne génère pas bien les fichiers XML, il démontre que JExcelApi sait lire un fichier Excel.

    Je ne recommande pas de se servir de ce code de démo. Mais si tu veux le faire, et que tu utilises JDOM pour parser le fichier XML en Document, le mieux est de désactiver la lecture des .dtd.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    D'accord merci beaucoup pour ton aide et ta patience

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WM17] Message d'erreur système : Le fichier spécifié est introuvable.
    Par khnesi dans le forum Windev Mobile
    Réponses: 2
    Dernier message: 17/12/2014, 21h43
  2. Erreur "Le fichier spécifié est introuvable"
    Par rabddoul dans le forum VBScript
    Réponses: 2
    Dernier message: 19/02/2010, 16h25
  3. Le fichier spécifié est introuvable?
    Par zalalus dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 14/01/2009, 23h22
  4. [DEBUTANT]Le fichier spécifié est introuvable
    Par Battosaiii dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 04/04/2005, 16h36

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