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 :

Visualisation d'un fichier xml dans un jEditorPane [FAQ] [XSLT]


Sujet :

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

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut Visualisation d'un fichier xml dans un jEditorPane
    voila voila
    j'ai un fichier xml avec une feuille de style xls, pour pouvoir visualiser mon fichier sous IE

    mon probleme est le suivant, la feuille de style n'est pas appliquée sur mon fichier xml lors de se visualisation dans le jEditorPane

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    java.io.File fileTmp = new java.io.File("c:\\toto.xml");
    m_jEditorPaneBilan.setPage(fileTmp.toURL());
    merci d'avance
    yann

  2. #2
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    une solution , je ne sais pas si ca te va :

    avant d'afficher le xml tu lui applique la style et tu obtiens un fichier html sur le dd et tu affiche ce html résultat !
    ;-) cordialement

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    en faite je ne cree pas le fichier html ... dans mon fichier xml il y a une balise pour aller mettre en forme mon fichier xml.... mais mon fichier xml doit rester xml.

  4. #4
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    oui , oui , je comprends bien le problème

    mais je ne sais pas , apparement le jeditorpane ne l'interprète pas ,

    donc mon idée est de charger une petite classe qui fait la transformation et tu obtiens le html pour l'afficher (ton .xml reste intact) c un nouveau fichier qui sera créer
    et si tu n'as pas besoin de ce html tu peux apres son affichage le supprimer !
    ;-) cordialement

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    ouais c clair je cree un fichier temporaire ... c un peu lourd, je vais voir si ca marche deja ^^

    même si je dois avouer que j'aurais aimé une autre reponse

    merci de ton aide


    si jamais quelqu'un a une autre solution, je suis preneur, je pense pas que mon boss soit mega d'accord avec cette solus

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    ou la la ^^
    sinon ta petite classe qui transforme le fichier xml+feuille de style en html .... tu la fais comment ?

    j'ai essayé un tout bête save as html ... ca donne un resulat surprenant pas correct mais tres sympa

  7. #7
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    voila une :
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    package decodeur;
    import oracle.xml.parser.v2.*;
    import java.io.*;
    import java.net.*;
    import org.w3c.dom.*;
    import org.xml.sax.*;
     
    public class Transform{
     
     public static String xmlname=monxml; //le fichier xml à transformer
     public static String xslfile= monxsl;//le fichier xsl à utiliser
     public static String htmlname=monhtml;//le nouveau html
    public Transform ()
    {
    }
     
     
    public static void main( String[] arg ) throws Exception {
        Transform t = new Transform();
        InputStream XMLStreamToParse = null;
        InputStream XSLStream        = null;
        XMLDocument theXMLDoc        = null;
     
     
        DOMParser theParser = new DOMParser();
        Transform tr = new Transform ();
     
        XMLStreamToParse= new FileInputStream(xmlname);
        if (XMLStreamToParse == null) {
         System.out.println(xmlname +"le fichier not found dans le chemin spécifié.");
        }
     
          XSLStream= new FileInputStream(xslfile);
            if (XSLStream == null) {
          System.out.println(xslfile +" not found .");
        }
     
     
     
        theParser.setValidationMode(false);
     
      System.out.println(" avant parse");
        theParser.parse( XMLStreamToParse );
       System.out.println("apres parse");
     
        theXMLDoc = theParser.getDocument();
     
     
        XSLStylesheet theXSLStylesheet = new XSLStylesheet(XSLStream,null);
     
     
        XSLProcessor  processor = new XSLProcessor();
     
     
        File file = new File(htmlname);
        FileWriter writer = new FileWriter(file);
        PrintWriter fileout = new PrintWriter(writer);
     
        processor.processXSL(theXSLStylesheet, theXMLDoc, fileout);
        System.out.println("  fin transformation xml_xsl  ");
     
      }
     
    }
    ;-) cordialement

  8. #8
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    merci j'essaye ce desuite ^^

  9. #9
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    import oracle.xml.parser.v2.*;

    il sert a quoi cette import .... car je dois faire attention a ce que j'importe

  10. #10
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    c pour pouvoir parser le xml ,
    à chaque manipulation de xml on a recourt un parseur .

    sa peésence te dérange ?
    ;-) cordialement

  11. #11
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    ben faut dire que oui ^^
    ca me derange un peu ...

    j'ai principalement droit au lib fournie avec mon p'tit jBuilder
    en gros j'utilise ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.stream.StreamResult;
    import javax.xml.transform.dom.DOMSource;

  12. #12
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    bon au pire je pense que je peux recuperer les libs faite par oracle ^^
    on peut les recuperer ou facilement ?

  13. #13
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut
    Avec les packages suivants, c'est OK :
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.stream.StreamResult;
    import javax.xml.transform.dom.DOMSource;
    après tu fais un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void transf(File xmlFile) throws TransformerException{
    File xmlFile = new File("essai2.xml");
    File xsltFile = new File("trans2.xsl");
    File htmlFile = new File("result.html");
    Source xmlSource = new StreamSource(xmlFile);
    Source xsltSource = new StreamSource(xsltFile);
    Result htmlResult = new StreamResult(htmlFile);
    TransformerFactory transFact = TransformerFactory.newInstance();
    Transformer trans = transFact.newTransformer(xsltSource);
    trans.transform(xmlSource, htmlResult);
    ...........
    Snoop

  14. #14
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    et voila une solution qui te va !!

    tu n'as pas besoin d'autres librairies
    ;-) cordialement

  15. #15
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    vi vi ^^
    merci

    faut que j'adapte un peu mainteannt.... il veut pas convertir ma feuille xsl mais ca va venir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: stylesheet requiert l’attribut : version

  16. #16
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    il faut quelque chose qui ressemble à ca au début du fichierr xsl
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">
    ;-) cordialement

  17. #17
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    merci merci merci ^^
    c nickel ca marche du tonnerre


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

Discussions similaires

  1. Visualiser un fichier xml dans un TreeView
    Par SilkyRoad dans le forum Contribuez
    Réponses: 0
    Dernier message: 28/12/2011, 16h36
  2. affichage d'un fichier xml dans un JEditorPane
    Par mahdifsegs dans le forum Débuter
    Réponses: 3
    Dernier message: 08/05/2010, 10h17
  3. Intégration des fichier XML dans une base de données MySQL
    Par bebemoundjou dans le forum XQUERY/SGBD
    Réponses: 8
    Dernier message: 25/11/2005, 22h41
  4. Réponses: 3
    Dernier message: 13/12/2004, 13h54
  5. utilliser un autre fichier xml dans un xsl
    Par New Bee dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/04/2003, 10h55

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