XML 解析器
XML解析器
XML解析器是一种软件库或软件包,可为客户端应用程序提供与XML文档一起使用的接口。 XML解析器旨在读取XML并为程序使用XML提供一种方式。
XML解析器会验证文档并检查文档的格式是否正确。
让我们了解一下XML分析器的工作原理如下图所示:
XML解析器的类型
这些是XML解析器的两种主要类型:
DOM
SAX
DOM(文档对象模型)
DOM文档是包含XML文档所有信息的对象。它的结构像树形结构。 DOM解析器实现DOM API。该API的使用非常简单。
DOM解析器的功能
DOM解析器在内存中创建一个内部结构,该内部结构是DOM文档对象和客户端应用程序。通过在此文档对象上调用方法来获取原始XML文档的信息。
DOM解析器具有基于树的结构。
优点
1)它支持读写操作,并且API非常简单
2)当需要随机访问文档中相距较远的部分时,首选此方法。
缺点
1)内存效率低下。(因为需要将整个XML文档加载到内存中,所以会占用更多内存。)
2)它比其他解析器要慢。
SAX(XML的简单API)
SAX解析器实现了SAX API。该API是基于事件的API,不太直观。
SAX解析器的功能
它不会创建任何内部结构。
客户不知道要调用什么方法,他们只是覆盖API的方法,并将自己的代码放在方法中。
这是一个基于事件的解析器,其作用类似于Java中的事件处理程序。
优点
1)它简单且内存有效。
2)它非常快,适用于大型文档。
缺点
1)它是基于事件的,因此其API不太直观。
2)客户永远不知道完整的信息,因为数据被分解成碎片。