使用 Axiom 流式传输 XML 节点的内容
Stream content of an XML node using Axiom
我有一个包含 XML 的 InputStream
,其中包含转义的内容 XML。 Escaped XML 的大小可能有数百兆字节,因此必须将其作为自己的 XML 文档进行处理,以防止 Apache Axiom 的 OMElement 将整个内容加载到内存中。
是否可以使用 Axiom 流式传输节点的内容并将其作为单独的文档进行解析?
在 Axiom 中执行此操作的正确方法是在包装转义 [=18] 的 OMElement
上调用 getTextAsStream
(cache
设置为 false
) =],然后将返回的 Reader
解析为 XML。请注意,这仅在您告诉 Axiom 在底层 XML 解析器中禁用合并时才有效,如 here 所述;如果您不这样做,那么整个内容仍将加载到内存中。
我有一个包含 XML 的 InputStream
,其中包含转义的内容 XML。 Escaped XML 的大小可能有数百兆字节,因此必须将其作为自己的 XML 文档进行处理,以防止 Apache Axiom 的 OMElement 将整个内容加载到内存中。
是否可以使用 Axiom 流式传输节点的内容并将其作为单独的文档进行解析?
在 Axiom 中执行此操作的正确方法是在包装转义 [=18] 的 OMElement
上调用 getTextAsStream
(cache
设置为 false
) =],然后将返回的 Reader
解析为 XML。请注意,这仅在您告诉 Axiom 在底层 XML 解析器中禁用合并时才有效,如 here 所述;如果您不这样做,那么整个内容仍将加载到内存中。