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

时间:2016-11-22 19:23:39

标签: java axiom

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

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

1 个答案:

答案 0 :(得分:1)

在Axiom中执行此操作的正确方法是在包装转义的XML的getTextAsStream上调用cachefalse设置为OMElement),然后解析以XML格式返回Reader。请注意,这仅在您告知Axiom在基础XML解析器中禁用合并时才有效,如here所述;如果你不这样做,那么整个内容仍然会被加载到内存中。