我有一个包含 XML 的 InputStream
,其中包含转义 XML 的内容。转义 XML 的大小可能达到数百兆字节,因此必须将其作为自己的 XML 文档进行处理,以防止 Apache Axiom 的 OMElement 将整个内容加载到内存中。
是否可以使用 Axiom 流式传输节点的内容并将其解析为单独的文档?
最佳答案
在 Axiom 中执行此操作的正确方法是调用 getTextAsStream
(将 cache
设置为 false
)在 OMElement
上包装转义的 XML,然后解析返回的 Reader
作为 XML。请注意,只有当您告诉 Axiom 在底层 XML 解析器中禁用合并时,这才有效,如 here 中所述。 ;如果你不这样做,那么整个内容仍然会被加载到内存中。
关于java - 使用 Axiom 流式传输 XML 节点的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40750029/