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

标签 java axiom

我有一个包含 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/

相关文章:

java - Java 垃圾收集器是否特定于 Major GC?

java - 促进原始类型

java - 使用 Spring-ws 中的 WebServiceTemplate 生成空 namespace 前缀

math - 为什么程序不能被证明?

maven-2 - 如何在 Maven2 上设置 Axis2/Axiom 的依赖关系

java - RAP 应用程序单例

来自 websphere 的 java.lang.NoClassDefFoundError

java - 加载 JavaFX Applet 时启用调试日志

java - AXIOM 中的 OMNode 和 OMElement 有什么区别

java - 创建具有大型正文的 AXIOM SOAP 消息