をJunitで使用したい場合は、ストリーム結果の出力を文字列に変換したい文字列のライターを使用する必要があると思いますが、 どのように正確に使用するかわかりません。ストリームの結果を文字列に変換する方法
StreamResult result = new StreamResult(new File("C:\\file.xml"));
transformer.transform(source, result);
おかげ ヒョードル
をJunitで使用したい場合は、ストリーム結果の出力を文字列に変換したい文字列のライターを使用する必要があると思いますが、 どのように正確に使用するかわかりません。ストリームの結果を文字列に変換する方法
StreamResult result = new StreamResult(new File("C:\\file.xml"));
transformer.transform(source, result);
おかげ ヒョードル
は(http://java.sun.com/javase/6/docs/api/)を見てくださいとするStreamResultクラスのjavadocを使用することを学びます。 StreamResultのコンストラクタの1つは、Writerオブジェクトをパラメータとして受け取ります。 Writerのサブクラスの1つが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();
あなたはこの方法でStringWriterを使用することができます。
StringWriter sw = (StringWriter) result.getWriter();
StringBuffer sb = sw.getBuffer();
String finalstring = sb.toString();
これは私が探していたものです – divine
@nosidの回答のように、バッファを使用するかどうかの違いは何ですか? –
StringWriter writer = new StringWriter();
transformer.transform(source, new StreamResult(writer));
String output = writer.toString();
私はちょうどこれを投票するためにログインしました。ありがとう:) – cngkaygusuz
こんにちはティモ、ありがとう、しかし、私はコンバータを置く必要がありますStreamResult結果=新しいStreamResult(新しいファイル( "C:\\ file.xml")); –
まあ、結果をStreamResult result = new StreamResult(new File( "C:\\ file.xml"))を使ってファイルに入れます。 StreamResult result = new StreamResult(outWriter);を使用してStringWriterに入れます。ファイルを文字列で使用する理由は何ですか? –
「ソース」は何を表していますか? –