分享
 
 
 

Java技术与XML常见问题之JAXB

王朝java/jsp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

问. 什么是 Java Architecture for XML Binding( JAXB )?

答. Java Architecture for XML Binding( JAXB )简化了启用 XML 的 Java 程序的创建和维护。 JAXB 提供一个绑定的编译器和一个运行时框架用来支持 XML 和 Java 对象的双向映射。绑定编译器可将 W3C XML 样式转换成一个或多个 Java 类,这个过程无需开发人员编写复杂的解析代码。模式派生类以及绑定框架可对输入和输出的 XML 文档启用错误或有效性检查,因而可以确保系统接收、处理和生成有效而无误的消息。更多信息,请参阅 Reference Implementation 和 Public Draft Specification,以上文档均可在 JAXB 主页下载。

问. JAXB、SAX 和 DOM 有什么不同?我应当选用哪一个?

答. SAX 是一种事件驱动的 XML 解析器,适用于高速处理 XML ,因为它不在内存中生成数据表示。与之不同,DOM 在内存中生成数据表示,允许应用程序对内存中的内容进行操纵。 SAX 和 DOM 都自动执行结构的有效性验证。一个应用程序可以使用 SAX 和 DOM 进行内容有效性验证,但这样的应用程序必须提供额外的代码,这可能会是复杂的、易于出错和难以维护的。

一个 JAXB 应用程序可以使用由模式生成的 Java 类对结构和内容进行有效性验证。与 DOM 类似,一个 JAXB 应用程序在内存中通过编组(marshalling) XML 文档来构造内容树,从而创建数据结构,这个树包括派生类的实例对象。但与 DOM 树不同,内容树是特定于某一种源模式的,不包含额外的树操纵功能,不允许使用其派生类的访问器方法对数据进行访问,也不能动态地构建。如果文档的内容是趋于动态且没有完好约束的,则在处理内容之前,在处理那些没有知名样式的 XML 内容方面,DOM 和 SAX 要比 JAXB 更适合。

问. JAXB 如何工作?

答. 要构建 JAXB 应用程序,首先从 XML 模式开始。beta 版本要求模式语言是 XML Schema 的 W3C 2001 Recommendation。

在获得 XML 模式之后,就可以构建和使用 JAXB 应用程序,按以下这些步骤:

1.

将 XML Schema 提交给绑定的编译器,生成 Java 源文件。

您可以定制绑定声明,从而覆盖 XML Schema 组件与 Java 表示之间的默认绑定。

2.编译 Java 源代码。

3.

使用类和绑定框架,编写 Java 应用程序,如下:

构建表示 XML 数据的对象树,该数据按 XML Schema 是有效的,可以通过从文档中解组(unmarshalling)数据或实例化要创建的类。

访问和修改数据。

可以选择对与约束相关的数据的更改进行验证,这些约束在 XML Schema 中表示。

将数据整理为新的 XML 文档。

问. 谁参与开发 JAXB ?

答. JAXB 由 Java Community Process(JCP )正在进行开发,JCP 由专家组所组成,包括 IBM、Software AG、BEA Systems、Hewlett-Packard、 TIBCO Software Inc.、 Oracle、 Fujitsu Limited、Breeze Factor LLC、Macromedia Inc. 和 Intalio Inc.。Sun 是 W3C XML Schema Working Group 最积极的成员,并与其他业界团体共同工作,如 OASIS 和 xml.org 。

问. 我从哪里能够阅读到关于 JAXB 的更多内容?

答. 对于 JAXB 更高层的解释,请参阅 Java Web Services Tutorial 中的 JAXB 一章。还需提醒的是,详细用户指南也作为 JAXB 的一个部分发布。更多关于 JAXB 的技术和细节描述,请参看最新版本的规范,您可以从 JAXB 主页 下载。请注意,此规范使用 Adobe Acrobat PDF 格式。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有