在java中将字符串转换为XML输入流

时间:2009-10-02 16:53:19

标签: java apache-fop

我正在尝试使用FOP和Java生成PDF文档。

我将XML作为字符串而不是文件接收。

如何将此XML字符串转换为XML输入流,以便我可以调用xslfoTransformer.transform(source,res);其中source是我的XML字符串作为输入流。

请提供您的建议。

3 个答案:

答案 0 :(得分:36)

new StreamSource(new StringReader(str))

答案 1 :(得分:20)

您可能希望将其转换为Reader,而不是InputStream。使用StringReader执行此操作。 StreamSource有一个带有Reader的构造函数,你可以将StreamSource传递给Transformer.transform()。

我说你可能想要Reader而不是InputStream因为String包含字符而不是字节,而InputStream是一个字节流而Reader是一串人物。

答案 2 :(得分:2)

使用ByteArrayInputStream

String S = ...;
InputStream source = new ByteArrayInputStream(S.getBytes(encoding))