JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java类映射为XML表示方式。JAXB提供两种主要特性:将一个Java对象序列化为XML,以及反向操作,将XML解析成Java对象。换句话说,JAXB允许以XML格式存储和读取数据,而不需要程序的类结构实现特定的读取XML和保存XML的代码。
当规格复杂且经常变化时JAXB特别有用。在这种情况下,经常修改XML模式定义以与Java定义保持一致很花费时间并且容易产生错误。
JAXB是Java EE平台的API之一,同时是的一部分。JAXB也是的基础之一. JAXB是J2SE1.6的一部分。
JAXB 1.0是在Java社群过程中作为JSR 31开发出来的。JAXB 2.0是作为JSR 222开发的。这两个版本的参考实现可以从java.net下载。
使用
“xjc”工具可以用来将XML模式或其他类型模式文件(Java 1.6试验性地支持RELAX NG,DTD以及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数据绑定
- XMLBeans–与JAXB类似的技术,来自Apache软件基金会
- TopLink軟體–对象到关系和对象到XML的映射产品,来自Oracle公司,支持JAXB 1.0
外部链接
- [https://web.archive.org/web/20070711092851/https://jaxb.dev.java.net/ JAXB主页],位于GlassFish项目。
- [https://java.sun.com/xml/jaxb/index.jsp JAXB前主页]
- [https://www.jcp.org/en/jsr/detail?id=222 JSR 222] (JAXB 2.0)
- [http://www.jcp.org/en/jsr/detail?id=31 JSR 31] (JAXB 1.0)
- [https://jaxb.dev.java.net/tutorial/ JAXB教程],作者是Wolfgang Laun
- [https://web.archive.org/web/20100723202011/http://ws.apache.org/jaxme/ JaxMe] – Apache软件基金会的JAXB的开源实现
- [https://www.eclipse.org/eclipselink/ EclipseLink MOXy] – Eclipse基金会JAXB和对象XML映射服务的开源实现
- [http://java.sun.com/javaee/5/docs/tutorial/doc/?wp405761&JAXB.html#wp100322 Java EE 5教程中的JAXB章节]
- [http://www.devx.com/Java/Article/34069 用JAXB2从对象模型生成XML文档]
- [https://web.archive.org/web/20090208151006/http://blogs.techrepublic.com.com/programming-and-development/?p=498 JAXB 2.0]
评论 (0)