java - escribir - Cómo convertir los resultados de flujo a cadena
leer y escribir xml en java (3)
Eche un vistazo y aprenda a usar los javadocs de la clase StreamResult ( http://java.sun.com/javase/6/docs/api/ ). Uno de los constructores de StreamResult toma un objeto Writer como parámetro. Verás que una de las subclases de Writer es StringWriter. Entonces, para obtener una cadena de lo que está escrito en StreamResult, puedes construir un StringWriter, ponerlo en StreamResult, transform () la Fuente a StreamResult y obtener la cadena de StringWriter.
//create a StringWriter for the output
StringWriter outWriter = new StringWriter();
StreamResult result = new StreamResult( outWriter );
...
transformer.transform( source, result );
StringBuffer sb = outWriter.getBuffer();
String finalstring = sb.toString();
Quiero convertir el resultado de la secuencia en una cadena, ya que quiero usarlo en Junit. Creo que necesito usar el escritor de cadenas, pero no estoy seguro de cómo usarlo exactamente.
StreamResult result = new StreamResult(new File("C://file.xml"));
transformer.transform(source, result);
Gracias fedor
Puedes usar un StringWriter de esta manera:
StringWriter sw = (StringWriter) result.getWriter();
StringBuffer sb = sw.getBuffer();
String finalstring = sb.toString();
StringWriter writer = new StringWriter();
transformer.transform(source, new StreamResult(writer));
String output = writer.toString();