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 :

Ajout d'une instrution de processing [DOM]


Sujet :

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

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut Ajout d'une instrution de processing
    Alors voici mon souci :
    Je cree un fichier xml en java. Jusque la pas de probleme, le resutlat est tip top. Mais ce fichier xml est destine a etre transformer par une feuille xsl.
    Ma question est la suivante, comment puis je rajouter dans le fichier xml la ligne qui lui dit quelle feuille xsl utiliser.

    En gros, comment faire en java pour ajouter cette ligne au fichier xml genere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml-stylesheet href="../feuille.xsl" type="text/xsl"?>
    Merci a tous.

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Salut,

    Eh bien, tu peux tout simplement lire ton fichier xml dans un String et insérer tout de suite après la déclaration xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml:stylesheet href="../feuille.xsl" type="text/xsl"?>
    ou alors utiliser des API xml tel que JDOM avec lequel cela est somme toute assez facile...
    Voici une URL fournie par Pantin que je remercie au passage...
    http://www.planetexml.com/DOM/DOM-3-10.html
    On en apprend tous les jours... mais pas aux autres!

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut

    J'ai du mal m'exprimer... Je suis confus.
    En fait je ne tiens pas a transformer mon fichier xml avec java. J'aimerais plutot que ce fichier xml (cree par mes soins) contienne la ligne qui specifie le fichier xsl a utiliser (pour permettre par exemple a Internet explorer d'afficher le fichier xml).

    Je pensais pouvoir specifier cette feuille xsl a utiliser un peu comme on specifie l'encodage du fichier xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
    Mais je n'ai pas trouver comment faire...

  4. #4
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Salut,
    Tu peux essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    TransformerFactory tFactory = TransformerFactory.newInstance();
     
    Transformer transformer = tFactory.newTransformer(new StreamSource(tonXSL));
     
    transformer.transform(new StreamSource(tonXML), new StreamResult(response.getWriter()));
    Voila normalement ca marche

  5. #5
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    En relisant les posts je me suis rendu compte que c'etait pas ca dont tu avais besoin , non ???

    Je m'a trompé, encore désolé

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    Je dois trop mal m'exprimer. Desole.
    Dans un programme java je genere un fichier A.xml qui ressemble a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
    <PERSONNE>
    <NOM>BROSSARD</NOM>
    <PRENOM>Papy</PRENOM>
    </PERSONNE>
    Ce que je souhaite c'est pouvoir inserer dans ce fichier A.xml la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml-stylesheet href="../personne.xsl" type="text/xsl"?>
    afin d'obtenir le fichier xml suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
    <?xml-stylesheet href="../personne.xsl" type="text/xsl"?>
    <PERSONNE>
    <NOM>BROSSARD</NOM>
    <PRENOM>Papy</PRENOM>
    </PERSONNE>
    Mais je ne sais pas comment ajouter cette ligne. C'est tout ce que je souhaite. Je ne veux pas que java transforme le fichier xml grace a la feuille xsl.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Ceci devrait faire ton bonheur...

    Pour faire simple, normalement tu dois insérer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml:stylesheet href="../personne.xsl" type="text/xsl"?>
    à la deuxième ligne de ton fichier xml.
    Tu peux donc faire
    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
    19
    20
    21
    22
    23
    import java.io.*;
     
    public class Test{
    	public static void main(String args[]){
         try{
              BufferedReader read = new BufferedReader(new FileReader("test.xml")); 
    					String ligneLue = read.readLine(); 
              String document = ligneLue +'\n';
              document += "<?xml:stylesheet href=\"../personne.xsl\" type=\"text/xsl>\n";
     
    			 while(ligneLue!=null){ 			        	
                   ligneLue= read.readLine();
                   if(ligneLue != null) document += ligneLue + '\n';
    		    }
    		    read.close();
              File file = new File("sortie.xml");
              FileOutputStream out = new FileOutputStream(file);	
              out.write(document.getBytes("ISO-8859-1"));
              out.close();
              }
         catch(Exception e){}
         }
    }
    On en apprend tous les jours... mais pas aux autres!

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut

    Exactement ce que je voulais. Quelqu'un m'a donc compris
    Cependant ta methode est un peu lourde meme si elle marche car c'est ce que je faisais auparavant. Seulement c'est pas tres elegant et je recherchais une methode moins agressive.

    Et j'ai trouve c'est tout con et ca m'embete d'avoir paume 1 heure pour ca. Pour ceux que ca interesse, voici le graal. Il suffit de rajouter ces quelques lignes pendant la creation du document.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ProcessingInstruction pi = (ProcessingInstruction) document.createProcessingInstruction("xml-stylesheet", "type =\"text/xsl\" href='../client.xsl'");
    document.appendChild(pi);
    Trop simple.

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Quel est cet API Java pour xml ? C'est du DOM ??? Merci...
    On en apprend tous les jours... mais pas aux autres!

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    DOM

    http://java.sun.com/j2se/1.4.1/docs/api/org/w3c/dom/package-summary.html

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

Discussions similaires

  1. Kernel Panic après ajout d'une nouvelle partition
    Par GLDavid dans le forum Administration système
    Réponses: 6
    Dernier message: 25/06/2004, 16h47
  2. Ajout dans une base
    Par semaj_james dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/06/2004, 16h23
  3. [LG]probleme d'ajout dans une liste chainée...
    Par misteryann dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2004, 20h28
  4. [JSP] Ajout d'une tache dans le planificateur Windows
    Par PhoneKilleR dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 12/09/2003, 15h10
  5. Ajout d'une colonne dans une table ...
    Par Djedjeridoo dans le forum SQL
    Réponses: 2
    Dernier message: 22/07/2003, 16h12

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