映射、绑定和解析之间有什么区别?

2022-09-03 15:33:10

我开始学习java EE6中的Web服务。

我以前做过Web开发,但从来没有与Web服务相关的任何事情。

对我来说,一切都是新的,我在网络上找到的书籍和教程都是技术性的。

我开始学习.xsd架构,也.xml。

在这个主题中,我感到自信,我了解架构用于什么以及验证意味着什么。

现在我的下一步是学习JAX-B(Java Api for XML Binding)。我骑了一些关于它的东西,我也在我的IDE中做了一些练习。但我有很多基本的疑虑,这让我陷入困境,无法有信心继续下一个话题。

如果有人能很好地解释我的怀疑,我非常感谢:

  1. 映射是什么意思,什么是映射工具?
  2. 绑定是什么意思,什么是绑定工具?
  3. 解析是什么意思,什么是解析工具?
  4. JAX-B 与映射、绑定和解析有何关系?

我正在寻找一个由你建立的好答案,而不仅仅是从谷歌复制粘贴(我已经在线几个小时了,只是感到困惑)。


答案 1

根据我的理解..

映射是什么意思,什么是映射工具?

在Java/XML的情况下,映射只不过是将Java对象模型表示为XML文档表示(反之亦然)。映射工具将允许您从一种格式转换为另一种格式。这只是定义步骤。

绑定是什么意思,什么是绑定工具?

绑定是在内存中(在应用程序运行时)将 XML 文档转换为对象重态的过程。绑定是通过取消编组来实现的。

解析是什么意思,什么是解析工具?

解析是读取输入数据流,并检查数据流是否与特定语法一致。解析工具使用数据流,并在数据不符合工具正在检查的语法时生成错误。它还会生成事件以指示它已从流接收到某些“令牌”。在java / xml场景中,有多种类型的解析器,例如DOM,StAx,SAX...

JAX-B 与映射、绑定和解析有何关系?

JAXB 映射:

是当您使用 xjc 基于 XSD 生成 Java 类层次结构时,映射发生在使用 JAXB 注释生成类时 映射工具在场景中是 xjc

JAXB 绑定 :

当应用程序将 XML 文档取消到对象重构时发生(JAXBElement) unmarshaller.unmarshal( new File("some.xml"));

解析:

为了将 XML 文档转换为对象重发,JAXB 引擎必须首先“解析”xml 文档以确保正确性,然后进行标记化以初始化 java 对象。这发生在内部,您无法控制 ito 以确保正确性,然后标记化以初始化 java 对象。


答案 2

强烈建议您获取 Java Web Services Up and Running 的副本,并从第 1 章开始,然后从那里开始。这并不容易或直观,要为漫长的学习曲线做好准备。注意。所有绑定的东西都会让你感到困惑,除非你对所有部分的工作原理有基本的了解。


推荐