本文概述
XML解析器是一个软件库或软件包, 它为客户端应用程序提供与XML文档一起使用的接口。 XML解析器旨在读取XML, 并为程序使用XML提供一种方法。
XML解析器会验证文档并检查文档的格式是否正确。
让我们通过下图了解XML解析器的工作原理:
XML解析器的类型
这是XML解析器的两种主要类型:
- 判决
- 萨克斯
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)客户永远不会知道完整的信息, 因为数据被分解成碎片。
评论前必须登录!
注册