Salut à tous !
Alors voici mon petit soucis :
Dans une appli test, j'aimerais utiliser le TransformerFactoryImpl() pour transformer le XML via le XSL et renvoyer le résultat.
Pour l'instant j'ai cette classe :
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 import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.StringWriter; import javax.xml.transform.Transformer; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import net.sf.saxon.TransformerFactoryImpl; import org.w3c.dom.Document; public class test { public static void main(String[] args) { System.out.print(XsltFileToString("C:/XMLXSLT/xml1.xml","C:/XMLXSLT/xml1.xsl")); } public static String XsltFileToString(Document aXML, String aXSL) { StringWriter writer = new StringWriter(); try { Transformer transformer = new TransformerFactoryImpl().newTransformer(new StreamSource(new FileInputStream(aXSL))); transformer.transform(new DOMSource(aXML), new StreamResult(new BufferedWriter(writer))); } catch (Exception ex) { ex.printStackTrace(); return null; } return (writer.getBuffer() == null) ? null : writer.getBuffer().toString(); } }
Mon problème se situe dans le premier argument de type Document (org.w3c.dom.Document), j'aimerais passer juste le chemin du xml, je ne vois pas comment modifier ma fonction ou faire en sorte que le fichier en dur sur le disque soit transformer en type Document :/
Un petit coup de pouce serait le bien venu !
Par avance merci !
Partager