JAXP 和 JAXB 之间有什么区别?

2022-08-31 12:09:27

JAXP 和 JAXB 之间有什么区别?


答案 1

JAXP(Java API for XML Processing)是一个相当过时的总称,涵盖了JavaSE中的各种低级XML API,如DOM,SAX和StAX。

JAXB(Java Architecture for XML Binding)是一个特定的API(下面的内容),它使用注释将XML文档绑定到Java对象模型。javax.xml.bind


答案 2

JAXP 是用于 XML 处理的 Java API,它为我们提供了一个使用 DOM 或 SAX 解析器解析 XML 文件的平台。

由于 JAXB 是用于 XML 绑定的 Java 体系结构,因此从用 Java 编程语言编写的应用程序中访问 XML 文档变得更加容易。

例如:计算机.xml文件,如果我们想使用JAXP访问数据,我们将执行以下步骤

  1. 创建一个SAX解析器或DOM解析器,然后PArse数据,如果我们使用DOM,如果文档太大,它可能会占用大量内存。假设如果我们使用SAX解析器,我们需要识别文档的开头。当它遇到重要内容(在 SAX 术语中称为“事件”)时,例如 XML 标记的开头或标记内的文本,它会使该数据可供调用应用程序使用。
  2. 然后创建一个内容处理程序,该处理程序定义分析器在遇到事件时要通知的方法。这些方法(称为回调方法)对它们接收的数据执行适当的操作。

如果由 JAXB 执行相同的操作,则需要执行以下步骤才能访问计算机.xml

  1. 绑定 XML 文档的架构。
  2. 将文档取消编入 Java 内容对象。Java 内容对象表示 XML 文档的内容和组织,并直接可用于程序。取消编组后,程序只需访问 Java 内容对象中的数据,然后显示它,即可访问和显示 XML 文档中的数据。无需创建和使用解析器,也无需使用回调方法编写内容处理程序。这意味着开发人员可以访问和处理 XML 数据,而无需了解 XML 或 XML 处理。

推荐