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 :

output dans un fichier xml [XSLT]


Sujet :

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

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut output dans un fichier xml
    slt a tous
    j'ai un tit prob qui me fait bloqué depuis un tit moment
    j'ai mon java dont le code est le suivant :
    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
     
       1. import javax.xml.transform.stream.*;
       2. import javax.xml.transform.*;
       3.
       4. class XSLT {
       5.   public static void main(String args[]){
       6.     String xslt=args[0];
       7.     String xml =args[1];
       8.     try{
       9.       TransformerFactory tFactory = TransformerFactory.newInstance();
      10.       Transformer transformer =
      11.                tFactory.newTransformer(new StreamSource(xslt));
      12. transformer.transform(new StreamSource(xml),
      13.
      14.                            new StreamResult(System.out);
      15.     }
      16.     catch (Exception e){e.printStackTrace();
      17.   
      18.     }
      19.   }
      20. }
    qui me permet d'applique un fichier xslt sur un fichier xml
    j'aimerais recuperer le resultat dans un nouveau fichier xml au lieu de l'avoir sur ma console (System.out))
    merci pour votre aide

  2. #2
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    bobkorn, as tu vu cette FAQ ??
    c'est exactement ce que tu veux faire :
    http://java.developpez.com/faq/xml/?...lt#creerXmlDom

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut
    slt
    le probleme c'est que moi je veut pas utilise DOM en faite suis contraint a n'utiliser que du xslt
    et la transformation dans le FAQ c pour les API sax et DOM de java
    merci

  4. #4
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    tu n'est pas obliger d'utiliser Jdom mais disons que ça doit être la façon la plus facile ...

    mais pour ton idée
    tu as ton :
    transformer.transform(source, resultat);

    source est ton fichier XML, et resultat et ton futur fichier XML , donc il faut :

    // Création du fichier de sortie
    File file = new File(fichier);
    Result resultat = new StreamResult(fichier);
    ou fichier est l adresse.


    et mettre les proprietes de sortie du transfomer comme tu le souhaite :

    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
    ....

    Voila peut etre qu il y as des erreurs de syntaxe et des oublis sur les proprietees ...
    ++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut
    Merci bcp laurent
    ca marche niquel
    thx

    mnt je t'embet avec un truc un peu plus chiant si ca te derange pas
    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
    24
    25
    26
    27
    import java.io.File;
    import javax.xml.transform.*;
    import javax.xml.transform.stream.*;
    
    
    class XSLT {
        public static void main(String[] args) {
            String xslt = args[0];
            String xml = args[1];
            String output=args[2];
            try {
            	System.out.println(System.currentTimeMillis());
            	File file = new File(output);   	
                TransformerFactory tFactory = TransformerFactory.newInstance();
                System.out.println(System.currentTimeMillis());
                Transformer transformer = tFactory.newTransformer(new StreamSource(
                            xslt));
              	System.out.println(System.currentTimeMillis());
                transformer.transform(new StreamSource(xml),
                    new StreamResult(output));
                System.out.println(System.currentTimeMillis());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    mon code est ci dessus
    comme je doit traiter une centaine de fichiers xml de ~ 3500 lignes chacun j'ai essaye de mesure le temps que ca met
    la transformation est instantané
    1207823444785
    1207823444792

    1207823445550
    1207823446224

    le seul truc qui prend un peu de temps c'est qd je fait new instance
    est ce qu'il ya une solution pour le reduire

  6. #6
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    heu quand tu mes cela :

    1207823444785
    1207823444792
    1207823445550
    1207823446224

    est ce que c'est dans l ordre dans lequel ça s affiche car apparemment c'est plutôt la transformation qui prendrais du temps ... et non pas la création du TransformerFactory .. ce qui me parait plus normal que l inverse

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut
    c bien ca desole
    j'avais mal vue
    merci bcp

  8. #8
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    c'est pas grave ... ca parraisait juste bizar quand tu le disais

    pense à informer que le topics est résolu :

    ++

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut
    c fait merci encore une fois

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut
    slt laurent
    j'ai une balise du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <systeme-propulsif-diesel tab-vit="0 5 10 15 20 25 30 35"
    			tab-tpk="2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0"
    je voudrais avec xsl(t) recuperer le 0, le 5 , le 10 ...
    can u help??
    merci

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

Discussions similaires

  1. [Stockage] Image dans un fichier XML
    Par ovh dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 30/04/2003, 16h21
  2. Insertion dans un fichier xml à partir d'un xsl
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/03/2003, 09h45
  3. Insertion dans un fichier XML
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 4
    Dernier message: 27/02/2003, 17h16
  4. Lire un attribut dans un fichier XML en C++
    Par ti.k-nar dans le forum XML
    Réponses: 2
    Dernier message: 14/10/2002, 15h22
  5. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29

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