将DOMSource转换为StreamSource的更简单方法?

Luk*_*der 6 java xml dom transform

我需要将a DOMSource转换为a StreamSource,因为第三方库只接受SOAP的流源.

在这种情况下,性能不是一个问题,所以我想出了这个非常冗长的命令集:

DOMSource src = new DOMSource(document);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
StreamResult result = new StreamResult();
ByteArrayOutputStream out = new ByteArrayOutputStream();
result.setOutputStream(out);
transformer.transform(src, result);
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
StreamSource streamSource = new StreamSource(in);
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来做到这一点?

Mic*_*Kay 6

这是一个很好的方式.因为您的第三方库只接受词法形式的XML,所以除了序列化DOM以便外部库可以重新解析它之外别无选择.愚蠢的设计 - 告诉他们.