📜  XML解析器

📅  最后修改于: 2020-12-25 04:47:39             🧑  作者: Mango

XML解析器

XML解析器是一个软件库或软件包,它为客户端应用程序提供与XML文档一起使用的接口。 XML解析器旨在读取XML,并为程序使用XML提供一种方法。

XML解析器会验证文档并检查文档的格式是否正确。

让我们通过下图了解XML解析器的工作原理:

XML解析器的类型

这是XML解析器的两种主要类型:

  • DOM
  • 萨克斯

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)客户永远不会知道完整的信息,因为数据被分解成碎片。