【发布时间】:2018-06-04 19:13:55
【问题描述】:
阅读文档,这是我见过的所有示例中使用的方法:
(org.jdom.input.SAXBuilder 的版本是jdom-1.1.jar)
Document doc = new SAXBuilder().build(is);
Element root = doc.getRootElement();
Element child = root.getChild("someChildElement");
...
其中is 是InputStream 变量。
我想知道,由于这是一个 SAX 构建器(与 DOM 构建器相对),整个输入流是否会通过 build 方法读入文档对象?或者它是否可以解决延迟加载,只要我请求具有 Element.getChildren() 或类似功能(源自根节点)的元素,这些功能只能通过文档转发,那么构建器会自动处理加载流的块给我?
我需要确保我没有将整个文件加载到内存中。
谢谢, 迈克
【问题讨论】:
-
如果您可以通过从根目录挖掘来访问元素,则很有可能整个文档都加载到了内存中。如果你想有更多的精度,请指定
SAXBuilder的包 -
感谢大卫,我编辑了问题以反映 org.jdom.input.SAXBuilder 的版本是 jdom-1.1.jar