transformer un xml en html (en utilisant java)
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:
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:
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();}
}
} |