我一直在考虑使用 Java 加载 XML 文件,但我似乎无法破译其中的某些部分。 我知道 SAX 是一种流机制,但是在谈论 DOM 时,各个站点都在谈论“加载整个文件”或“加载所有标签”模型,并得到了对大型 XML 文件使用 SAX 的建议的支持。
DOM 实际加载完整文件的程度如何?当我访问根节点时,它是否为文件的每个字节分配程序内存?加载文本内容时是否只加载标签到最低级别?
我将处理大文件,但随机访问会很有用,并且需要编辑,所以我相信 DOM 对我来说是最佳选择。
非常感谢。
最佳答案
它确实加载整个文件并在内存中构造一个树结构。因此,每个标签、属性和任何嵌套标签(无论嵌套多少层)都将被加载。只是 XML 文件越大,构建的树就会越大。
关于java - DOM 中的文件加载是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077068/