本文共 613 字,大约阅读时间需要 2 分钟。
DOM 以树形结构组织XML文档的每个节点,这个树形结构允许开发人员在树中寻找特定信息。在访问树的节点之前,必须先加载整个文档,并构造对应的树形结构,DOM解析器才能开始解析。
DOM的解析处理优点:
(1.) )由于树在内存中式最持久的,因为可以修改树的节点,对应于修改文档中元素的值。
(2.) 当需要对XML文档中的数据重复读取时,DOM的优势非常明显,因为DOM一次性将整个XML文档的内容全部读入内存中,因此可以随机访问XML文档的每个元素。
DOM的缺点:
(1.) 由于DOM需要在解析之前一次性加载整个XML文档,因此启动速度比较慢,特别时当文档较大时,可能会导致内存溢出。
(2.) 如果应用程序只需要关注文档的一小部分,但DOM依然需要加载整个XML文档,不可避免地装载了那些永远不会被使用的对象。
SAX(Simple API for XML)是解析XML文档的简单API,这种解析方式通常只用于操作XMl文档,其优点非常类似于流媒体,对XML文档的解析可以立即开始,无需等整个XML文档全部装入,并且由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中,这对大型文档有很大的优势。应用程序可以不必解析整个文档,可以在某个条件满足时停止解析。SAX类似于流媒体,因此不具备随机读取XML 文档元素的能力。
一般来说:SAX比DOM快,如果需要重复读取XMl文档的内容,则SAX需要再次搜索。
转载地址:http://rnzmi.baihongyu.com/