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 d'ouverture de fichier XML [DOM]


Sujet :

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

  1. #1
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut Erreur d'ouverture de fichier XML
    Bonjour, j'ai un souci d'ouverture de fichier XML. j'utilise l'API DOM.

    En fait je récupère l'URL de ma classe principale, puis je remonte pour aller dans mon repertoire de ressources où se trouve mon fichier XML. Mais à l'execution j'ai une erreur java.io.FileNotFoundException, qui me dit que l'adresse n'est pas bonne. Et pourtant, quand je copie-colle cette adresse dans mon explorateur, il m'affiche le fichier sans probleme.

    Merci de votre aide.

    le code concerné :

    le parametre adresseClassMain est un type URL que je recupere depuis mon Main (j'execute en tant qu'applet)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     URL urlFichierXML = new java.net.URL(adresseClassMain, "../../Res/CONFIGURATION_SERVEUR.xml");
     
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    FileInputStream fis = new FileInputStream(new File(urlFichierXML.toString()));

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    j'ai essaye d'executer mon code dans un fichier jar pour voir si je peux lire le fichier xml. A noter que j'ai modifié la zone d'ouverture du fichier en psaant simplement le nom du fichier et non plus un URL complete, le tout (fichier html, jar et xml) dans le meme repertoire)

    a l'execution j'ai ces problemes :

    adresse du fichier CONFIGURATION_SERVEUR.xml : jar:file:/.../test/Shiva_SaisieAffranchissement.jar!/Res/CONFIGURATION_SERVEUR.xml

    java.security.AccessControlException: access denied (java.io.FilePermission CONFIGURATION_SERVEUR.XML read)

    ***Edit***

    je precise qu'a terme mon appli sera decouplée en client-serveur, et que la partie responsable de la lecture du fichier xml sera sur le serveur, avec le code serveur, ca va pas me poser des soucis, comme obligation de signer ou autre ?

    donc apparement il recherche mon fichier dans le repertoire res, c'est bien c'est ce que j'avais, mais avant donc j'aimerais qu'il ouvre le fichier qui est dans le repertoire avec le jar, ce serait deja bien...

    deuxieme probleme : acces denied. je sais que les applets sont restreins en execution. le tout veut-il dire qu'il trouve le fichier mais qu'il n'a pas le droit d'y lire ?

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Bon, je progresse :

    en remplacant l'ouverture dun fichier par l'ouverture d'une ressource lié à un réseau, je trouve le fichier xml apparement, maintenant il reclame la dtd, mais je ne sais pas comment lui indiquer la localisation de la dtd.

    le code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
    fabrique.setValidating(true);
    DocumentBuilder constructeur = fabrique.newDocumentBuilder();
    URL url = new URL(urlFichierXML.toString());
    InputStream stream = url.openStream();
    Document document = constructeur.parse(stream);
    et, si je commente la ligne <!DOCTYPE.... dans mon fichier xml avec commete de la ligne fabrique.setValidating(true);, ca s'ouvre apparement, mais j'aimerais avoir le fichier dtd quand meme ^^

    Merci pour un coup de main

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    j'ai trouve la fonction document.getDoctype();
    mais je ne vois pas comment l'inclure dans mon code :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                Document document = constructeur.parse(stream);
                document.getDoctype();
    il va toujours chercher le fichier au meme endroit
    meme en essaynt d'appeler les fonctions de parcours sur le DocumentType, ca veut pas....

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Finalement j'ai pris en compte le chemin de recherche de la dtd que le programme considere, et j'ai modifié mon fichier xml pour en tenir compte. C'est pas elegant, mais j'ai pas trouve autrement. Si quelqu'un a une idée...

    <!DOCTYPE CONFIGURATION_SERVEUR SYSTEM "./res/CONFIGURATION_SERVEUR.dtd" >

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

Discussions similaires

  1. erreur d'ouverture de fichier xml
    Par dodo_red dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/05/2009, 22h37
  2. erreur d'ouverture de fichier
    Par Bass_Room dans le forum C
    Réponses: 1
    Dernier message: 28/02/2007, 15h36
  3. (VBA-E) Erreur sur ouverture de fichier
    Par Stutak dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 27/08/2006, 15h11
  4. Erreur d'ouverture de fichier :s
    Par NeuroGen dans le forum Général Python
    Réponses: 3
    Dernier message: 15/03/2006, 12h51

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