将字符串转换为XML的Java输入流(Convert a string to XML input s

2019-08-17 04:44发布

我试图使用生成FOP和Java PDF文档。

我收到XML作为一个字符串,而不是作为一个文件。

我怎么能这个XML字符串转换为XML输入流,这样我可以调用xslfoTransformer.transform(源,RES); 其中source是我的XML字符串作为输入流。

请提供您的建议。

Answer 1:

你可能想将其转换为一个Reader ,而不是一个InputStream 。 使用StringReader做到这一点。 StreamSource的有一个构造函数需要一个阅读器,并且可以传递StreamSource到Transformer.transform()。

我说你可能要一个Reader ,而不是一个InputStream ,因为一个字符串保存字符,而不是字节,并且InputStream是字节流而Reader是字符流。



Answer 2:

new StreamSource(new StringReader(str))


Answer 3:

使用ByteArrayInputStream的 :

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


文章来源: Convert a string to XML input stream in java