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

XML/XSL et SOAP Discussion :

[XML][DOM] ecriture Element dans .xml


Sujet :

XML/XSL et SOAP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 53
    Points : 34
    Points
    34
    Par défaut [XML][DOM] ecriture Element dans .xml
    Bonjours a tous,

    Je souhaiterais savoir si il est possible d'ecrire automatiquement dans un fichier xml l'en tete + un arbre xml contenu dans un type Element.

    je dispose par exemple :

    Element racine = ... (mon arbre XML)

    et je voudrais obtenir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
    <?xml version="1.0"?>
    <!DOCTYPE racine SYSTEM "MaDTD_Perso.dtd">
     
    mon arbre XML
    
    merci

    A+

    Sébastien

  2. #2
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Hello.

    Tu peux créer un nouveau Document, y importer ton élément.

    Ensuite, tu peux écrire ton Document tout à fait normalement, avec la décalration xml et la DTD.

    ++

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    pour l'instant je procede comme cela :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    Element racine = document.getDocumentElement();
    
    Node ElementARetirer=null;
    ElementARetirer= traitement ..... a moi 
    
    racine.removeChild(ElementARetirer);
    
    Ecriture("<?xml version='1.0'?>");
    Ecriture("<!DOCTYPE racine SYSTEM 'MaDTDPerso.dtd'>"); 
    Ecriture(racine.toString());
    


    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
    17
    18
     public static void Ecriture (String Instruction)
     {
      try 
      {     
       FileWriter flux = new FileWriter("Fichier_test.xml",true);
       BufferedWriter tampon = new BufferedWriter(flux);
       tampon.write(Instruction);  
       tampon.newLine();      
       tampon.close();    
       flux.close();
      }
      catch (IOException e ) 
      {
       System.out.println("ERREUR");
       e.printStackTrace();
      }
     
     }
    ma solution fonctionne mais a mon avis n'est optimum.

    Et je ne sais pas si en XML le caractere ' fait la meme chose que ".
    (en faite je conserverais bien ma solution si je pouvais ecrire le caractere " pour etre sur de ne pas avoir de soucis dans le futur ... du faite que mon fichier xml sera utilisé pas d'autre application que la mienne.)

    Voilà et au cas ou vous ne l'auriez pas remarqué je débute en java et en xml ...

    Merci

    Sébastien

  4. #4
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Hello.

    Tu peux aussi essayer d'utiliser un javax.xml.transform.Transformer, dont tu peux setter les OutputProperties, genre mettre la déclaration xml ou ajouter une décl. de DTD.

    Tu peux lire la jdoc de la classe citée ci-dessus, ça devrait fortement t'intéresser.

    ++

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    ok merci pour ton "orientation" vers le javax.xml.transform.Transformer.

    on faisant une recherche sur le forum j'ai trouvé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public static void outXML(Document DOM, String filename)
     {
     try
     {
      Transformer transform = TransformerFactory.newInstance().newTransformer();
      StreamResult result = new StreamResult(new File(filename));
      transform.transform(new DOMSource(DOM),result);  
     }
     catch (Exception e) 
    { }
     }
    cela permet d'ecrire le Document DOM modifié (apres un remove par ex)dans un fichier xml qui s'appel filename. En plus meme pas besoin de "setter" les propriétés celles du Document d'origine sont concervées .

    Merci et bonne journée

    A+

    Sébastien

Discussions similaires

  1. [XML][DOM][ZIP] Problème de lecture dans un zip
    Par gocin dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 04/04/2007, 11h41
  2. [C# 2.0] Inserer un element dans un fichier Xml
    Par Khrysby dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/09/2006, 17h05
  3. [DOM] Créer Element dans un document XML
    Par nivose110 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 30/06/2006, 09h18
  4. Réponses: 3
    Dernier message: 29/06/2006, 16h54
  5. [DOM] importer un noeud d'un fichier xml et le coller dans un autre fichier
    Par iznogoud36 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/06/2006, 12h55

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