Как преобразовать XMLStreamReader в XMLStreamWriter - PullRequest
5 голосов
/ 05 апреля 2011

Должно быть легко и очевидно, но я не могу найти способ - XMLOutputFactory принимает только OutputStream, Result или другое Writer для создания нового XMLStreamWriter.

Что у меняпод рукой находится XMLStreamReader, в котором нет методов для извлечения Result или OutputStream.

Если бы решение было проще с использованием API событий, это тоже было бы нормально.

Спасибо

1 Ответ

10 голосов
/ 05 апреля 2011

Вы можете использовать javax.xml.transform.Transformer для преобразования StAXSource, обертывающего считыватель, в StAXResult, обертывающего записывающее устройство.

TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
StAXSource source = new StAXSource(xmlStreamReader);
StAXResult result = new StAXResult(xmlStreamWriter);
t.transform(source, result);

Используя API-интерфейс событий, вы также можете использовать следующее:

...