OVH Cloud OVH Cloud

Transformation XSLT résultat String

1 réponse
Avatar
Mathieu
Bonjour à toutes et à tous,

Je souhaite transformer en xml en un autre xml en utilisant xslt en
Java. Jusque là ca va.


Là où je suis bloqué :
Le xml d'entrée et le xslt ne sont pas dans des fichiers, mais dans des
chaines de caractères.

Et le résultat xml doit aussi être dans une chaine de caractères.

Voici le bout de code :

private String convertXML(String xml, String xslt) throws
TransformerException {

SAXResult xmlresult = new SAXResult();

Source xmlsource = new StreamSource(new
StringBufferInputStream(xml));

TransformerFactory xsltfactory = TransformerFactory.newInstance();

Transformer xsltengine = xsltfactory.newTransformer(new
StreamSource(new StringReader(xslt)));

xsltengine.transform(xmlsource,xmlresult);


return xmlresult.toString(); }



Mais le résultat n'est pas bien retourné

Avez vous une idée ?

Merci

1 réponse

Avatar
Hervé AGNOUX
Mathieu wrote:



Mais le résultat n'est pas bien retourné

Avez vous une idée ?



Et si, en sortie, au lieu d'utiliser un SAXResult, tu utilisais un
StreamResult activant un StringWriter ?

De plus, méfie-toi que la classe StringBufferInputStream, que tu as mis pour
mener l'entrée, est deprecated. Il vaut mieux je pense utiliser un
StringReader.

Etc.


--
Hervé AGNOUX
http://www.diaam-informatique.com