Bonjour tout le monde,
Voilà suite au dernier sujet que j'ai postulé qui consiste à transformer un xml en pdf, je souhaiterai maintenant transformer un xml en html.

J'ai essayé avec ça, mais j'ai une petite erreur que j'arrive pas à trouver un explication.

Voilà le premier code
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import java.io.File;
 
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
 
import org.w3c.dom.Document;
 
 
public  class XSLTRANSFORM {
 
 
	public static void creerHTML(String xml, String xsl, String html) throws Exception
	{
		// Création de la source DOM
		DocumentBuilderFactory Factory = DocumentBuilderFactory.newInstance();
 
		// creation d'un constructeur
		DocumentBuilder constructeur = Factory.newDocumentBuilder();
		File fileXml = new File(xml);
		Document document = constructeur.parse(fileXml);
        Source source = new DOMSource(document);
 
        // Création du fichier de sortie
        File fileHtml = new File(html);
        Result resultat = new StreamResult(fileHtml);
 
        // Configuration du transformer
        TransformerFactory fabriqueT = TransformerFactory.newInstance();
        StreamSource stylesource = new StreamSource(xsl);
        Transformer transformer = fabriqueT.newTransformer(stylesource);
        transformer.setOutputProperty(OutputKeys.METHOD, "html");
 
        // Transformation
        transformer.transform(source, resultat);
	}
 
 
    public static void main(String [] arg) throws TransformerException{
 
    	// Setup directories
		File baseDir = new File("C:/CreationHTML/");
		File outDir = new File(baseDir, "out");
		outDir.mkdirs();
 
		//Setup input and output files          
		File xmlFile = new File(baseDir, "Annuaire.xml");
		File xsltFile = new File(baseDir, "Annuaire.xsl");
		File htmlFile = new File(outDir, "Annuaire.html");
 
 
        javax.xml.transform.Source xmlSource =
                new javax.xml.transform.stream.StreamSource(xmlFile);
        javax.xml.transform.Source xsltSource =
                new javax.xml.transform.stream.StreamSource(xsltFile);
        javax.xml.transform.Result result =
                new javax.xml.transform.stream.StreamResult(htmlFile);
 
 
        javax.xml.transform.TransformerFactory transFact =
                javax.xml.transform.TransformerFactory.newInstance();
 
        javax.xml.transform.Transformer trans =
                transFact.newTransformer(xsltSource);
 
        trans.transform(xmlSource, result);
 
 
 
        }
 
}
Le deuxième code (deuxième proposition -> enfin de compte c'est pas très different du premier mais c'est juste pour vous dire que j'ai la meme erreur avec ses deux codes.)

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
import javax.xml.parsers.*; 
import org.w3c.dom.*; 
import javax.xml.transform.*;  
import javax.xml.transform.dom.*; 
import javax.xml.transform.stream.*; 
import java.io.*; 
 
public class CreationHTML{
	public static void creerHTML(String xml, String xsl, String html) throws Exception
	{
		// Création de la source DOM
		DocumentBuilderFactory Factory = DocumentBuilderFactory.newInstance();
 
		// creation d'un constructeur
		DocumentBuilder constructeur = Factory.newDocumentBuilder();
		File fileXml = new File(xml);
		Document document = constructeur.parse(fileXml);
        Source source = new DOMSource(document);
 
        // Création du fichier de sortie
        File fileHtml = new File(html);
        Result resultat = new StreamResult(fileHtml);
 
        // Configuration du transformer
        TransformerFactory fabriqueT = TransformerFactory.newInstance();
        StreamSource stylesource = new StreamSource(xsl);
        Transformer transformer = fabriqueT.newTransformer(stylesource);
        transformer.setOutputProperty(OutputKeys.METHOD, "html");
 
        // Transformation
        transformer.transform(source, resultat);
	}
 
 
	public static void main(String[] args){
		try{
			creerHTML("c:/CreationHTML/Annuaire.xml", "c:/CreationHTML/Annuaire.xsl", "c:/CreationHTML/Annuaire.html");
		}catch(Exception e){e.printStackTrace();}
	}
}