- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAXB2.0 简介
JAXB(java Architecture for XML Binding)是java提供处理XML与java对象映射的标准库。在javaSE6.0中已经包含了JAXB定义的所有API,在处理XML文档时,使用JAXB要比使用JAXP(DOM、SAX和StAX)更方便。(但不表明DOM、SAX和StAX就再无用武之地,并且JAXB的实现也是基于JAXP)。
JAXB框架中提供两种编写XML和java对象交互的方法。其一,通过XSD(XML Schema Definition)文档生成Java类的方式。其二,通过编写标注java类,之后生成相应的XSD文档(第二种,生成XSD文档并不是必须的)。JAXB通过分析java类中的标记(annotation),将java类转换为相应的XML文档。在方案一中,通过XSD文件生成的java类,已经被编译器(xjc)进行了标注,因此无需手工标注,而对应第二种方案,必须是编程人员手工添加这些标记。JAXB定义的标记比较多,也很复杂,要想灵活的控制转换过程,可以使用直接标注的方式。使用XSD转换的方式,相对比较简单,但需要使用者具有熟练的XSD编写经验,此外,使用XSD方式生成XML文档还有一大优势,就是在分布式系统中,不能保证XML信息的发送端和接收端都是使用的java运行环境,因此,XSD实际上将会成为端到端通信的一个标准,规定了通信的信息格式,因此,一般在分布式系统中可以先编写XSD文件,之后通信两端根据XSD提供的协议各自根据自身的情况,实现对XML文档的处理。
下文采用第一种方式对JAXB的使用方法进行介绍。编写示例的流程是,先编写XSD文件,通过编译器(xjc XML to Java Compiler)编译生成java类,编写测试程序(一般名称叫ProcessXML),最后给出执行结果。
本文内容源于JAXB官方网站提供的帮助文档/tutorial/section_1_1-Introduction.html#Introduction ,本文并不是对原有官方文档进行简单的翻译,而是挑选出源文档中具有代表性的内容,进行较深入的讲解,本文提供的实例与原文档提供的实例完全不同,是作者根据相应内容进行设计的,作者希望这些实例能够提供对原文档的一个补充说明。读者可以不借助原文档直接阅读下面的内容,因为本文内容基本可以自成体系,此外本文保持了原文档的编号方式,方便读者到原文档中查找相应内容。由于作者的局限性,很多地方仍有不足,因此作者不保证示例和评论的正确性,请读者自行验证。
在本文的最后提供了本文实例程序的打包下载,如果您想要亲自测试这些程序,可以从提供的连接上下载到文档。
目录:
1.3 第一个jaxb程序(一个完整的入门实例,介绍了使用XSD生成java类,并进行编组解组的全过程)
2 为JAXB编写Schema(简单介绍schema,并提供学习网站)
2.2.2 schema的时间日期类型 (如何将schema中的时间和日期,转换到java类对应的数据结构)
2.2.7 schema的list元素 (schema的list元素可以将简单数据类型压缩成一个字符串,减少传输的数据量)
2.2.9 使用枚举类型 (schema的枚举类型如何与java的枚举类型映射)
使用schema的choice类型(schema的choice元素与java类转换)
同构集合 (如何映射java的同构集合)
2.2.13 schema编写继承关系(设计了一个复杂继承关系的例子,并且使用了设计模式中的组合模式,整个程序比较复杂,也是理解JAXB的一个关键)
2.2.15 schema的ID和IDREF (对应java类内部的循环引用问题)
4.4 XML文档传输java对象(将串行化的java对象放入xml文档中编组,解组后在将数据反串行化)
2.3.2 一个schema引用另外一个schema (关于schema命名空间的使用说明)
1.3 第一个JAXB程序
现在我们想将一个学生的信息编组成XML文档,再从XML文档中解组成学生对象,学生信息包括了学号属性和学生姓名元素。从这个示例中,介绍了使用XSD生成java类,并进行编组和解组的全过程,这是一个相当于Hello World一样的入门程序。
先编写一个XSD文档:
xsd1_3 : Student1_3.xsd
?xml version=1.0 encoding=UTF-8?
schema xmlns=/2001/XMLSchema
element name=Student
complexType
sequence
element name=name type=string/
/s
您可能关注的文档
最近下载
- 2024-2025学年初中信息技术(信息科技)七年级全一册义务教育版(2024)教学设计合集.docx
- 《眼耳鼻咽喉口腔科护理学》教案 第13课 耳鼻咽喉科常见疾病患者的护理(三).docx VIP
- 2025年江苏南京中考语文试卷(真题--含答案) .pdf VIP
- 统编版(2024)道德与法治七年级上册期末复习全册知识点提纲.docx VIP
- 建筑工程述标(鲁班奖项目超高层框架结构技术答辩).pptx VIP
- 混凝土结构通用规范GB55008-2021知识培训.pptx VIP
- 《电梯关键部件寿命评估技术规范》.pdf VIP
- 高压氧舱技术的进步与挑战.docx VIP
- 消防考试试题100题及答案.docx VIP
- 2025电力企业数字化转型成熟度评价指南.pdf VIP
文档评论(0)