2010-12-13 35 views
3

Je dois utiliser le résultat d'un fichier javax.xml.transform.Transformer comme entrée d'un autre Transformer, sans enregistrer les résultats dans un fichier. C'est ...Transformateurs XML imbriqués

Reader input = new StringReader(xml); // Where xml is a String 
StringWriter output = new StringWriter(); 
StreamSource source = new StreamSource(input); 
StreamResult result = new StreamResult(output); 

transformer1.transform(source1, result1); 

// Get contents of result1 into source2 

transformer2.transform(source2, result2); 

Répondre

1

Remplacer

// Get contents of result1 into source2 

avec

input2 = new StringReader(output1.getBuffer().toString()); 
source2 = new StreamSource(input2); 
output2 = new StringWriter(); 
result2 = new StreamResult(output2); 
0

Vous pourriez faire un result1 DOMResult, puis obtenir le DOM de celui-ci après la première transformation et l'utiliser pour faire un source2 DOMSource pour la deuxième transformation.