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

发布于 2024-08-06 16:58:32 字数 189 浏览 7 评论 0原文

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

我收到的 XML 是字符串而不是文件。

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

请提供您的建议。

I'm trying to generate a PDF document using FOP and Java.

I receive the XML as a string and not as a file.

How can I convert this XML string to an XML input stream so that I can call xslfoTransformer.transform(source, res); where source is my XML string as an Input stream.

Please provide your suggestions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

云醉月微眠 2024-08-13 16:58:32
new StreamSource(new StringReader(str))
new StreamSource(new StringReader(str))
空名 2024-08-13 16:58:32

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

我说你可能想要一个 Reader 而不是 InputStream,因为 String 保存的是字符,而不是字节,而 InputStream 是字节流,而Reader 是一个字符流。

You probably want to convert it to a Reader, not an InputStream. Use StringReader to do this. StreamSource has a constructor that takes a Reader, and you can pass that StreamSource to Transformer.transform().

I say you probably want a Reader rather than an InputStream because a String holds characters, not bytes, and an InputStream is a stream of bytes while a Reader is a stream of characters.

书间行客 2024-08-13 16:58:32

使用 ByteArrayInputStream

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

Use ByteArrayInputStream:

String S = ...;
InputStream source = new ByteArrayInputStream(S.getBytes(encoding))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文