我有一个包含XML的InputStream
,其中包含转义为XML的内容。 Escaped XML的大小可以达到数百兆字节,因此必须将其作为自己的XML文档进行处理,以防止Apache Axiom的OMElement将整个内容加载到内存中。
是否可以使用Axiom流式传输节点的内容并将其解析为单独的文档?
答案 0 :(得分:1)
在Axiom中执行此操作的正确方法是在包装转义的XML的getTextAsStream
上调用cache
(false
设置为OMElement
),然后解析以XML格式返回Reader
。请注意,这仅在您告知Axiom在基础XML解析器中禁用合并时才有效,如here所述;如果你不这样做,那么整个内容仍然会被加载到内存中。