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 :

Creation de plusieurs page HTML [DOM]


Sujet :

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

  1. #1
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut Creation de plusieurs page HTML
    Bonjour, voila mon code java permettant de créer une page html via un XML et mis en forme par un XSL.

    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
    public class Main {
    	public static void main(String[] args) {
    		try {
    			System.out.println("Go");		
    			//construction du fichier XML		DocumentBuilderFactoryfabrique=DocumentBuilderFactory.newInstance();		
    			fabrique.setNamespaceAware(true);			
    			// fabrique.setValidation(true);
    			DocumentBuilder analyseur =fabrique.newDocumentBuilder();
     
    			//création du fichier XML
    			Document doc=analyseur.parse(newFile("FR-FR-Form270207-4-1.xml"));
    			DOMSource sourceXML = new DOMSource(doc);
     
    			//Création du fichier XSL
    			doc = analyseur.parse(new File("test.xsl"));
    			DOMSource sourceXSL = new DOMSource(doc);
     
    			TransformerFactory trFact = TransformerFactory.newInstance();
    			Transformer transformeur = trFact.newTransformer(sourceXSL);
    			transformeur.setOutputProperty(OutputKeys.METHOD, "html");
    			transformeur.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
    			transformeur.setOutputProperty(OutputKeys.INDENT, "yes");
     
    			//transformeur.setParameter("num", "6");
     
    			File oFic = new File("resultat.vm");
    			FileOutputStream fos = new FileOutputStream(oFic);
     
    			if (fos != null) {
    				Result sortie = new StreamResult(fos);
    				transformeur.transform(sourceXML, sortie);
    			}
     
    			fos.flush();
    			fos.close();
    			System.out.println("XSL transf done");
     
     
    			Velocity.init();
    			VelocityContext context = new VelocityContext();
    			context.put( "date", new DateHelper());
    			Template template = Velocity.getTemplate("resultat.vm");
     
    			FileWriter fw = new FileWriter("result.html");
     
    			template.merge( context, fw );
    			fw.close();
    			System.out.println("Velocity transf done");					
    		} catch (Throwable t) {
    			t.printStackTrace();
    		}
    	}
     
    }
    Je souhaite créer à partir de ce XML plusieurs page HTML, mais ne sait pas comment faire.

    Merci d'avance

  2. #2
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Et bien la meme chose avec un tableau et une boucle ???
    Ou alors ya un quelque chose que je vois pas ?

  3. #3
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    En fait le main a été fait par mon boss ... et comme je comprend pas tous les termes utilisés, si je pouvais une piste ca m'aiderais beaucoup.

    Merci ,

  4. #4
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Oui enfin une boucle, c'est un peu la base de la programmation non ?

    Sinon je te suggere de regarder pour chaque classe que tu ne comprends pas la doc correspondante dans l'api. Et essayer de faire quelque chose a partir de ca.
    Ensuite tu execute et si t'as des erreurs et bien, on essayera de t'aider.

  5. #5
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Désolé je me suis mal exprimé, ce qui me pose probleme c'est de savoir si je dois recréer un nouveau xsl pour la deuxieme page , ou si je peux identifier dans mon xsl le fait ke tel traitement doit correspondre a une nouvelle page html.

    Merci

  6. #6
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    A mon avis, tu peux garder un seul xsl pour toutes les pages.

    Enfin tout depend de ce que tu veux faire exactement ....

  7. #7
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    En fait , je génére en sortie des tableaux tout bete , ke je souhaiterais avoir sur des pages différentes.
    Mais comme dans le main , le XSL est identifié par son nom , je me demande comment mettre en place un traitement différent selon la page que l'on génère.

  8. #8
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Ok mais qu'est ce qui determine que le fait que tu fasses un traitement différent?

  9. #9
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Le type de tableau que je dois avoir en sortie. J'ai des prérequis a réaliser ( en plannif ca donne , un plan de charge, un bilan de la référence initiale etc).

  10. #10
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Citation Envoyé par Katachana
    Le type de tableau que je dois avoir en sortie. J'ai des prérequis a réaliser ( en plannif ca donne , un plan de charge, un bilan de la référence initiale etc).
    Non, mais au niveau programmation ...

  11. #11
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut Traitement de plusieurs XML
    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
     
    public static void maMethode(){
    		try {
    			System.out.println("Go");
     
    			//Selection des fichiers XML à traiter
    			  File file = new File("");
    			  String chemin = file.getAbsolutePath();
    		      File oChemin = new File(chemin);
    		      File[] oCollection = oChemin.listFiles();
    		      for(int i = 0; i < oCollection.length; i++){		      
    		      if (oCollection[i].getName().endsWith(".xml"))
    		    	  System.out.println("Nom de la cible : " + oCollection[i].getName());
     
     
    			//construction du fichier XML
    			DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();				
    			fabrique.setNamespaceAware(true);			
    			DocumentBuilder analyseur = fabrique.newDocumentBuilder();
     
    			//création du fichier XML
    			Document doc = analyseur.parse(new File(oCollection[i].getName()));
    			DOMSource sourceXML = new DOMSource(doc);		
     
    			//Création du fichier XSL
    			doc = analyseur.parse(new File("test.xsl"));
    			DOMSource sourceXSL = new DOMSource(doc);
     
    			TransformerFactory trFact = TransformerFactory.newInstance();
    			Transformer transformeur = trFact.newTransformer(sourceXSL);
    			transformeur.setOutputProperty(OutputKeys.METHOD, "html");
    			transformeur.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
    			transformeur.setOutputProperty(OutputKeys.INDENT, "yes");
     
    			//transformeur.setParameter("num", "6");
    			File oFic = new File("resultat"+i+".vm");
    			FileOutputStream fos = new FileOutputStream(oFic);
     
    			if (fos != null) {
    				Result sortie = new StreamResult(fos);
    				transformeur.transform(sourceXML, sortie);
    							}
     
    			fos.flush();
    			fos.close();
    			System.out.println("XSL transf done");
     
    			Velocity.init();
    			VelocityContext context = new VelocityContext();
    			context.put( "date", new DateHelper());
    			Template template = Velocity.getTemplate("resultat"+i+".vm");
    			FileWriter fw = new FileWriter("result"+i+".xls");				
    			template.merge( context, fw );		
    			fw.close();
     
    			System.out.println("Velocity transf done");
     
    			}
    		} catch (Throwable t) {
    			t.printStackTrace();
    		}
    	}
    J'essaye de traiter tous les fichiers XML présent dans mon répertoire courant et de créer a chaque fois un fichier excel (resultat du traitement). Je ne comprend pas pourquoi ca plante....
    Le resulat est le traitement de 3 fichier XML sur 6 , et avec un fichier excel en sortie qui bug


    Merci d'avance !!


    Merci d'avance

  12. #12
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Et quels sont les messages d'erreurs ?

  13. #13
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    j'ai resolu le probleme, il manquait juste une parenthese.....

    Merci quand meme !

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

Discussions similaires

  1. Créer plusieurs pages html avec un seul CGI
    Par SPACHFR dans le forum Débuter
    Réponses: 0
    Dernier message: 03/03/2009, 11h08
  2. [Joomla!] [Joomla 1.5] Intégrer plusieurs pages html et php
    Par missmarion dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 19/07/2008, 17h18
  3. Créer plusieurs pages HTML avec un XML
    Par Jean Luc & Michel dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 12/12/2007, 09h57
  4. Partager du code Javascript entre plusieurs pages HTML
    Par oceane751 dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 10/01/2006, 15h20
  5. [XSLT] Diviser un fichiers xml en plusieurs pages html
    Par thibaut06 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/04/2005, 16h56

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