使用 Axiom 流式传输 XML 节点的内容

Stream content of an XML node using Axiom

我有一个包含 XML 的 InputStream,其中包含转义的内容 XML。 Escaped XML 的大小可能有数百兆字节,因此必须将其作为自己的 XML 文档进行处理,以防止 Apache Axiom 的 OMElement 将整个内容加载到内存中。

是否可以使用 Axiom 流式传输节点的内容并将其作为单独的文档进行解析?

在 Axiom 中执行此操作的正确方法是在包装转义 [=18] 的 OMElement 上调用 getTextAsStreamcache 设置为 false) =],然后将返回的 Reader 解析为 XML。请注意,这仅在您告诉 Axiom 在底层 XML 解析器中禁用合并时才有效,如 here 所述;如果您不这样做,那么整个内容仍将加载到内存中。