`
christ_man
  • 浏览: 5227 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JaxB介绍

阅读更多

 

       JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。

 

 

 

 

 

Java SE中的JAXB

JAXB 2.0是JDK 1.6的组成部分。JAXB 2.2.3是JDK 1.7的组成部分。

JDK中JAXB相关的重要Class和Interface:

JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。
Marshaller接口,将Java对象序列化为XML数据。
Unmarshaller接口,将XML数据反序列化为Java对象。

JDK中JAXB相关的重要Annotation:

@XmlType,将Java类或枚举类型映射到XML模式类型
@XmlAccessorType(XmlAccessType.FIELD) ,控制字段或属性的序列化。FIELD表示JAXB将自动绑定Java类中的每个非静态的(static)、非瞬态的(由@XmlTransient标注)字段到XML。其他值还有XmlAccessType.PROPERTY和XmlAccessType.NONE。
@XmlAccessorOrder,控制JAXB 绑定类中属性和字段的排序。
@XmlJavaTypeAdapter,使用定制的适配器(即扩展抽象类XmlAdapter并覆盖marshal()和unmarshal()方法),以序列化Java类为XML。
@XmlElementWrapper ,对于数组或集合(即包含多个元素的成员变量),生成一个包装该数组或集合的XML元素(称为包装器)。
@XmlRootElement,将Java类或枚举类型映射到XML元素。
@XmlElement,将Java类的一个属性映射到与属性同名的一个XML元素。
@XmlAttribute,将Java类的一个属性映射到与属性同名的一个XML属性。

其他:

对于要序列化(marshal)为XML的Java类,绝不能把成员变量声明为public,否则运行将抛出异常com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException。
对于JAXB相关的重要Annotation的声明,如@Xml.....,可以放在成员变量的setter()getter()方法上,两者中任选其一即可,但决不能放在成员变量上,否则运行将抛出异常com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException。
[1]

编辑本段使用

“xjc”工具可以用来将XML模式或其他类型模式文件(Java 1.6试验性地支持RELAX NGDTD以及WSDL)转换为Java类。Java类使用javax.xml.bind.annotation包下的Java 标注,例如@XmlRootElement和@XmlElement。XML列表序列表示为java.util.List类型的属性, 通过JAXBContext可以创建Marshallers(将Java对象转换成XML)和Unmarshallers(将XML解析为Java对象)。
此外,JAXB包括了一个“schemagen”工具,能够执行“xjc”的反向操作,通过一组标注的Java类创建一个XML模式。

编辑本段缺省的数据类型绑定

下面的表格列出了JAXB中XML数据类型和Java数据类型的映射。
XML Schema类型
Java数据类型
xsd:string
java.lang.String
xsd:positiveInteger
java.math.BigInteger
xsd:int
int
xsd:long
long
xsd:short
short
xsd:decimal
java.math.BigDecimal
xsd:float
float
xsd:double
double
xsd:boolean
boolean
xsd:byte
byte
xsd:QName
javax.xml.namespace.QName
xsd:dateTime
javax.xml.datatype.XMLGregorianCalendar
xsd:base64Binary
byte[]
xsd:hexBinary
byte[]
xsd:unsignedInt
long
xsd:unsignedShort
int
xsd:unsignedByte
short
xsd:time
javax.xml.datatype.XMLGregorianCalendar
xsd:date
javax.xml.datatype.XMLGregorianCalendar
xsd:g
javax.xml.datatype.XMLGregorianCalendar
xsd:anySimpleType
java.lang.Object
xsd:anySimpleType
java.lang.String
xsd:duration
javax.xml.datatype.Duration
xsd:NOTATION
javax.xml.namespace.QName

 

 

 

 

分享到:
评论

相关推荐

    JAXB资料集.rar

    资料比较完整:Jaxb2_技术指南,JAXB的使用入门,JAXB介绍.ppt,JAXBDemos

    JAXB使用及代码示例

    JAXB框架,作用是对象和XML之间相互转化,本文档包含代码示例,介绍对象和XML如果使用JAXB相互转化 在代码里面备注了具体使用的文字说明

    jaxb解析xml

    教你使用jaxb解析xml,介绍了主要的注解,以及核心api

    用JAXB来实现Java程序配置的简单方法

    程序的自定义设置是一个重要的功能,...本文介绍了用JAXB来实现Java程序配置,JAXB即Java Architecture for XML Binding,xml在java语言中的一个新规范,可以方便的从xml文件到java类,以及从java类到xml文件的转换。

    [精品]JAVA6新特性介绍使用JAXB来实现对象与XML之间的映射.doc

    [精品]JAVA6新特性介绍使用JAXB来实现对象与XML之间的映射

    深入jaxb xjc编码问题的详细介绍

    本篇文章是对jaxb xjc编码的问题进行了详细的分析介绍,需要的朋友参考下

    java使用jaxb操作xml示例

    JAXB主要用来实现对象和XML之间的序列化和反序列化,关于JAXB的介绍就不多说了,这里主要总结下基本使用方法和一些注意事项

    Java XML绑定技术 (Castor JAXB XMLBeans)

    本文系原创,如需转载请注明作者...本文详细介绍了Java XML绑定技术,并重点说明了如果使用JAXB来简化XML文档的操作。如果你的Java项目中需要使用XML(作为配置文件或数据库),不妨试一下JAXB,你一定会有惊喜的发现。

    Jaxb2实现JavaBean与xml互转的方法详解

    主要介绍了Jaxb2实现JavaBean与xml互转的方法,简单介绍了JAXB的概念、功能及实现JavaBean与xml互转的具体操作技巧,需要的朋友可以参考下

    java利用JAXB实现对象和xml互相转换方法与实例详解

    主要介绍了java利用JAXB实现对象和xml互相转换方法与实例详解,需要的朋友可以参考下

    JAXB命名空间_动力节点Java学院整理

    主要为大家详细介绍了JAXB命名空间的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    JAXB命名空间及前缀_动力节点Java学院整理

    主要给大家介绍了关于JAXB命名空间及前缀的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    jaxb2-fixed-value:JAXB2 固定值插件

    介绍 这个插件受到了高度启发,并共享了许多通用代码。 这是一个 XJC 插件,用于根据 xs:element 的固定属性在 XJC 生成的类中设置固定值。 记录固定属性。 请注意,JAXB 本地处理 xs:attribute 的固定值,因此此...

    谈谈为JAXB和response设置编码,解决wechat4j中文乱码的问题

    中文乱码是每个程序员都会遇到的问题,本篇文章主要介绍了谈谈为JAXB和response设置编码,解决wechat4j中文乱码的问题,具有一定的参考价值,有兴趣的可以了解一下。

    JAXB简介_动力节点Java学院整理

    主要为大家详细介绍了JAXB简介的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    JAVA6新特性介绍

    JAXB是Java Architecture for XML Binding的缩写,可以将一个Java对象转变成为XML格式,反之亦然。我们把对象与关系数据库之间的映射称为ORM, 其实也可以把对象与XML之间的映射称为OXM(Object XML Mapping). 原来...

    WritingAntTaskDemo

    具体介绍请查看博客:http://blog.csdn.net/shuideyidi/article/details/51130565 利用XSD自动生成JAXB类,自定义Ant Task 读取自定义XML格式。

    java读写xml文件的方法

    介绍了如何通过java来读写xml的方法,其中介绍了几种方法,如:DOM、SAX、JDOM、JAXB、dom4j.

    JAVA6新特性介绍.zip

    2.使用JAXB2来实现对象与XML之间的映射 3.StAX 4.使用Compiler API 5.轻量级Http Server API 6.插入式注解处理API(Pluggable Annotation Processing API) 7.用Console开发控制台程序 8.对脚本语言的支持 9.Common ...

Global site tag (gtag.js) - Google Analytics