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 :

Modifier un Fichier XML


Sujet :

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

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 200
    Points
    200
    Par défaut Modifier un Fichier XML
    Bonjour,

    J'utilise dom4j pour récuperer mon fichier XML sous forme de document. Ainsi je peux travailler dessus et en modifier les attributs, elements... Une fois les modifications apportées je voudrais les sauvegarder dans le même fichier.

    J'arrive à en créer un autre sans problème, mais je voudrais modifier le fichier de départ sans le supprimer.

    Je ne trouve pas sur le site dom4j comment faire ???

    Suis je donc obligé de supprimer l'ancienne version et de le recréer apres ????

    Merci d'avance,

    @+

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Si tu lui donnes le nom de ton premier fichier, il devrait simplement écraser son contenu.
    A priori, il n'y a pas de raison pour que ton API fasse de distinction entre le fichier initial et le fichier de destionation et t'empêche d'écrire dans le fichier que tu as lu.

    Si ça ne marche pas, c'est peut-être que tu as oublié de fermer les flux après avoir lu et parsé ton fichier de départ.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 200
    Points
    200
    Par défaut
    Voici le code :

    Récupération du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SAXReader reader = new SAXReader();
    Document document = reader.read(getClass().getResource("/hibernate.cfg.xml").toString());
    Le fichier XML est embarqué dans l'archive du programme qui le modifie, c'est pourquoi j'utilise getClass().getResource("fichier");

    Sauvegarde des modifications :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    XMLWriter writer = new XMLWriter(new FileWriter(getClass().getResource("/hibernate.cfg.xml").toString());
    writer.write( hibernateXML );
    writer.close();
    Je remet exactemment le même chemin et ca ne marche pas, il me dit que le chemin spécifié est introuvable.

    Sachant que ca marche si je met des chemin en dur comme : c:/hibernate.cfg.xml.

    N'a t'il pas le droit d'ecrire dans une archive ?

    merci d'avance,

    @+

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Effectivement, tu avais oublié cette précision!

    On ne peut pas écrire dans une archive façon aussi simple: on ne peut écrire que dans un fichier "physique", pas un fichier contenu dans une archive.

    Il me semble qu'il existe une API dédiée permettant d'écrire dans les archives mais je ne me souviens plus de son nom => recherche dans le forum (et/ou sur Google)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 200
    Points
    200
    Par défaut
    Je me doutais bien qu'il y'avait un problème avec l'archive.

    Bon je vais regarder ca et je mettrais la reponse sur le FORUM des que j'aurais trouvé.

    Merci,

    @+

Discussions similaires

  1. [DOM] Cherche source pour modifier un fichier xml
    Par Donatelli dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/08/2007, 19h50
  2. [Web] modifier un fichier xml via HTML
    Par cyberfilou dans le forum APIs
    Réponses: 2
    Dernier message: 04/05/2007, 12h12
  3. [XML-XSLT]Modifier un fichier XML grâce à un formulaire
    Par Maurice Fallou dans le forum Langage
    Réponses: 4
    Dernier message: 28/02/2007, 17h57
  4. [VB NET]: Modifier un fichier XML via un DataSet
    Par ADONET dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/02/2006, 19h54
  5. [DOM] [Débutant(e)] Modifier un fichier XML avec DOM
    Par macks dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/07/2005, 15h13

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