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

时间:2012-04-02 08:21:42

标签: java xml dom transform

我需要将DOMSource转换为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);

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

1 个答案:

答案 0 :(得分:6)

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