XSL + XML1 + (XML2 memoire en paramètre)
Bonjour,
J'aimerais savoir s'il est possible de transformer un XML avec un XSL, sachant que le deuxième XML est en mémoire (String, document ou autre)?
Quelque chose du genre :
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
|
XMLReader xmlReader = null;
try {
xmlReader = XMLReaderFactory.createXMLReader();
} catch (SAXException e) {
e.printStackTrace();
}
// 1er fichier XML
InputSource xmlSource = new InputSource(new FileReader(xmlFilePath1));
SAXSource saxXmlSource = new SAXSource(xmlReader, xmlSource);
// Le fichier XSL
InputSource xslSource = new InputSource(new FileReader(xslFilePath));
SAXSource saxXslSource = new SAXSource(xmlReader, xslSource);
// Résultat en mémoire
StringWriter stringWriter = new StringWriter();
Result xmlTransformed = new StreamResult(stringWriter);
// Usine à transformations
TransformerFactory fabrique = TransformerFactory.newInstance();
// Un transformateur
Transformer transformateur = fabrique.newTransformer(saxXslSource);
// 2ème fichier XML
transformateur.setParameter("source2", xmlFilePath2);
// Transformation
transformateur.transform(saxXmlSource, xmlTransformed); |
Merci.