Sto facendo una conversione di alcuni dati (come csv) in xml con SAX quindi utilizzando il trasformatore in Java. Il risultato è in StreamResult e sto cercando di salvare questo risultato in un file.xml ma non riesco a trovare il modo di salvare StreamResult nel file. sto sbagliando tutto questo?Java: Salvataggio di StreamResult in un file
12
A
risposta
21
Il tuo StreamResult
deve essere creato sulla base di un file, ad es.
StreamResult sr = new StreamResult(new File("/my/file.xml"));
caso in cui il Transformer
tale StreamResult
, si scriverà il risultato direttamente nel file specificato.
3
Non ho familiarità con l'API ... ma this link ti dà quello che cerchi?
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
Il commento non corrisponde al codice. Dice che sta salvando su un file, ma in realtà scrive su una stringa che viene stampata. –
ha funzionato come un fascino! mi ha salvato la giornata:) grazie! – Todd