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 :

Faire la transformation via une classe Java [XSLT]


Sujet :

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

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2012
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 51
    Points : 27
    Points
    27
    Par défaut Faire la transformation via une classe Java
    Bonjour,

    Le sujet de mon topic est très vague, mais je précise ma pensée ici.

    J'ai une classe Java dans laquelle j'ai 2 String.
    La première contient un code XML.
    La seconde contient un code XSLT.

    Je voudrais, à partir de ses 2 String, pouvoir effectuer la transformation XSLT contenu dans ma String, à mon XML contenu dans mon autre String, et récupérer ensuite le résultat, si possible sous forme de String.

    Je suis vraiment un débutant dans le domaine, j'ai fait des recherches un peu partout, mais je trouve rien qui m'aide vraiment, ou alors des fragments d'aides par ci par la, et finalement, ça m'embrouille plus qu'autre chose...

    Je suis ouvert à toutes les solutions, même si c'est mieux si elles sont simples que soit ce soit pas le biais de la création de différents fichiers xml et xslt, ou qu'on gère tout directement via les String.

    Je voudrais juste avoir un truc automatique, où on a pas besoin de compiler manuellement un éventuel fichier xslt que l'on aurait créé auparavant.

    Merci beaucoup.

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pourtant, c'est relativement simple.

    Cf la faq java/xml: http://java.developpez.com/faq/xml/?...lt#creerXmlDom

    Et une adaptation correspondant à ce que tu veux:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    package org.sca.test.xml;
     
    import java.io.StringReader;
    import java.io.StringWriter;
     
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.stream.StreamResult;
    import javax.xml.transform.stream.StreamSource;
     
    public class XslTransform {
     
        private String xmlString;
        private String xslString;
     
        public XslTransform(String xmlString, String xslString) {
            this.xmlString = xmlString;
            this.xslString = xslString;
        }
     
     
        public String transform() {
            TransformerFactory fabrique = TransformerFactory.newInstance();
            Transformer transformer;
            StringWriter wr = new StringWriter();
            try {
                transformer = fabrique.newTransformer(new StreamSource(new StringReader(xslString)));
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
                transformer.transform(new StreamSource(new StringReader(xmlString)), new StreamResult(wr));
            } catch (TransformerConfigurationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (TransformerException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return wr.toString();
     
        }
    }
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2012
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 51
    Points : 27
    Points
    27
    Par défaut
    J'avais oublié de dire merci ...
    Désolé pour ce up légèrement inutile, mais il fait être polie dans la vie ^^'

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

Discussions similaires

  1. Comment transformer un shema xml à partir d'une classe Java
    Par jerada dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 19/04/2012, 22h02
  2. Réponses: 4
    Dernier message: 30/12/2011, 12h04
  3. Transformation d'un classe java en une table JPA
    Par mahdouche dans le forum JPA
    Réponses: 4
    Dernier message: 06/09/2010, 14h47
  4. Réponses: 3
    Dernier message: 24/11/2009, 23h56
  5. accéder à une classe JAVA via un Scripted Data Set
    Par elbrujo2323 dans le forum BIRT
    Réponses: 3
    Dernier message: 19/03/2008, 16h41

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