我想将流结果输出转换为字符串,因为我想要
要在Junit中使用它,我想我需要使用字符串编写器,但是
我不确定如何使用它。
StreamResult result = new StreamResult(new File("C:\\file.xml"));
transformer.transform(source, result);
谢谢
费多
最佳答案
查看并学习使用StreamResult类(http://java.sun.com/javase/6/docs/api/)的javadocs。
StreamResult的构造函数之一采用Writer对象作为参数。您将看到Writer的子类之一是StringWriter。因此,要从写入StreamResult的字符串中获取字符串,可以构造一个StringWriter,将其放入StreamResult中,将Source转换为StreamResult,然后从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();