java - DOM 中的文件加载是如何工作的?

标签 java xml dom memory

我一直在考虑使用 Java 加载 XML 文件,但我似乎无法破译其中的某些部分。 我知道 SAX 是一种流机制,但是在谈论 DOM 时,各个站点都在谈论“加载整个文件”或“加载所有标签”模型,并得到了对大型 XML 文件使用 SAX 的建议的支持。

DOM 实际加载完整文件的程度如何?当我访问根节点时,它是否为文件的每个字节分配程序内存?加载文本内容时是否只加载标签到最低级别?

我将处理大文件,但随机访问会很有用,并且需要编辑,所以我相信 DOM 对我来说是最佳选择。

非常感谢。

最佳答案

它确实加载整个文件并在内存中构造一个树结构。因此,每个标签、属性和任何嵌套标签(无论嵌套多少层)都将被加载。只是 XML 文件越大,构建的树就会越大。

关于java - DOM 中的文件加载是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077068/

相关文章:

java - 保存网页以供离线浏览

java - 如何使用正则表达式提取此模式的子字符串

java - 如何防止 Xerces 访问 Internet 以获取系统 ID URI?

android - ImageView 的比例类型意外行为

java - 从 GWT 设置 html 字段?

java - 17 :42:55. 7385459 如何在java中制作这个日期格式

java - 将我的素数生成器存储到数组中

java - AppBarLayout 自动完成当用户停止滚动时展开/折叠

javascript - 如何使用副本/克隆在实时 DOM 中找到文本节点?

javascript - 使用 jquery 从插入的 html 中访问 dom 元素