Преобразование строки в поток ввода XML в java
Я пытаюсь создать PDF-документ, используя FOP и Java.
Я получаю XML как строку, а не как файл.
Как преобразовать эту строку XML в поток ввода XML, чтобы я мог вызвать xslfoTransformer.transform(source, res); где источником является моя строка XML в качестве входного потока.
Просьба представить ваши предложения.
Ответы
Ответ 1
Вероятно, вы захотите преобразовать его в Reader
, а не в InputStream
. Для этого используйте StringReader. У StreamSource есть конструктор, который берет Reader, и вы можете передать это StreamSource
в Transformer.transform().
Я говорю, что вы, вероятно, хотите Reader
, а не InputStream
, потому что строка содержит символы, а не байты, а InputStream
- поток байтов, а Reader
- поток символов.
Ответ 2
new StreamSource(new StringReader(str))
Ответ 3
Используйте ByteArrayInputStream:
String S = ...;
InputStream source = new ByteArrayInputStream(S.getBytes(encoding))