2009-12-21 6 views
12

Je suis en train de faire une conversion de données (comme csv) en XML avec SAX puis en utilisant un transformateur en Java. Le résultat est dans StreamResult, et j'essaye d'enregistrer ce résultat dans un fichier.xml mais je ne trouve pas moyen de sauvegarder StreamResult dans un fichier. est-ce que je fais tout faux?Java: Sauvegarde de StreamResult dans un fichier

Répondre

21

Votre StreamResult doit être créé sur la base d'un fichier, par ex.

StreamResult sr = new StreamResult(new File("/my/file.xml")); 

Si vous donnez votre Transformer un tel StreamResult, il rédigera son résultat directement dans le fichier que vous avez spécifié.

+0

travaillé comme un charme! sauvé ma journée:) merci! – Todd

3

Je ne suis pas familier avec l'API ... mais est-ce que this link vous donne ce que vous recherchez?

Transformer transformer = TransformerFactory.newInstance().newTransformer(); 
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 

//initialize StreamResult with File object to save to file 
StreamResult result = new StreamResult(new StringWriter()); 
DOMSource source = new DOMSource(doc); 
transformer.transform(source, result); 

String xmlString = result.getWriter().toString(); 
System.out.println(xmlString); 
+0

Le commentaire ne correspond pas au code. Il dit qu'il enregistre dans un fichier, mais il écrit réellement dans une chaîne qui est imprimée. –

Questions connexes