原文地址:http://blog.csdn.net/top_code/article/details/51660191
JAXB:JavaTM Architecture for XML Binding:XML绑定Java架构
简介
JAXB(JavaArchitecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到 XML实例文档。
JAXB2.0是JDK 1.6的组成部分。我们不需要下载第三方jar包 即可做到轻松转换。
概念
Marshaller接口,将Java对象序列化为XML数据。
Unmarshaller接口,将XML数据反序列化为Java对象。
@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属性。
示例
Order.java
- 1@H_404_41@
- 2@H_404_41@
- 3@H_404_41@
- 4@H_404_41@
- 5@H_404_41@
- 6@H_404_41@
- 7@H_404_41@
- 8@H_404_41@
- 9@H_404_41@
- 10@H_404_41@
- 11@H_404_41@
- 12@H_404_41@
- 13@H_404_41@
- 14@H_404_41@
- 15@H_404_41@
- 16@H_404_41@
- 17@H_404_41@
- 18@H_404_41@
- 19@H_404_41@
- 20@H_404_41@
- 21@H_404_41@
- 22@H_404_41@
- 23@H_404_41@
- 24@H_404_41@
- 25@H_404_41@
- 26@H_404_41@
- 27@H_404_41@
- 28@H_404_41@
- 29@H_404_41@
- 30@H_404_41@
- 31@H_404_41@
- 32@H_404_41@
- 33@H_404_41@
- 34@H_404_41@
- 35@H_404_41@
- 36@H_404_41@
- 37@H_404_41@
- 38@H_404_41@
- 39@H_404_41@
- 40@H_404_41@
- 41@H_404_41@
- 42@H_404_41@
- 43@H_404_41@
- 44@H_404_41@
- 45@H_404_41@
- 46@H_404_41@
- 47@H_404_41@
- 48@H_404_41@
- 49@H_404_41@
- 50@H_404_41@
- 51@H_404_41@
- 52@H_404_41@
- 53@H_404_41@
- 54@H_404_41@
- 55@H_404_41@
- 56@H_404_41@
- 57@H_404_41@
- 58@H_404_41@
- 59@H_404_41@
- 60@H_404_41@
- 61@H_404_41@
- 62@H_404_41@
- 63@H_404_41@
- 64@H_404_41@
- 65@H_404_41@
- 66@H_404_41@
- 67@H_404_41@
- 68@H_404_41@
- 69@H_404_41@
- 70@H_404_41@
- 71@H_404_41@
- 72@H_404_41@
- 73@H_404_41@
- 74@H_404_41@
- 75@H_404_41@
- 76@H_404_41@
- 77@H_404_41@
- 78@H_404_41@
- 79@H_404_41@
- 80@H_404_41@
- 81@H_404_41@
- 82@H_404_41@
- 83@H_404_41@
- 84@H_404_41@
- 85@H_404_41@
- 86@H_404_41@
- 87@H_404_41@
- 88@H_404_41@
- 89@H_404_41@
- 90@H_404_41@
- 91@H_404_41@
- 92@H_404_41@
- 93@H_404_41@
- 94@H_404_41@
- 95@H_404_41@
- 96@H_404_41@
- 1@H_404_41@
- 2@H_404_41@
- 3@H_404_41@
- 4@H_404_41@
- 5@H_404_41@
- 6@H_404_41@
- 7@H_404_41@
- 8@H_404_41@
- 9@H_404_41@
- 10@H_404_41@
- 11@H_404_41@
- 12@H_404_41@
- 13@H_404_41@
- 14@H_404_41@
- 15@H_404_41@
- 16@H_404_41@
- 17@H_404_41@
- 18@H_404_41@
- 19@H_404_41@
- 20@H_404_41@
- 21@H_404_41@
- 22@H_404_41@
- 23@H_404_41@
- 24@H_404_41@
- 25@H_404_41@
- 26@H_404_41@
- 27@H_404_41@
- 28@H_404_41@
- 29@H_404_41@
- 30@H_404_41@
- 31@H_404_41@
- 32@H_404_41@
- 33@H_404_41@
- 34@H_404_41@
- 35@H_404_41@
- 36@H_404_41@
- 37@H_404_41@
- 38@H_404_41@
- 39@H_404_41@
- 40@H_404_41@
- 41@H_404_41@
- 42@H_404_41@
- 43@H_404_41@
- 44@H_404_41@
- 45@H_404_41@
- 46@H_404_41@
- 47@H_404_41@
- 48@H_404_41@
- 49@H_404_41@
- 50@H_404_41@
- 51@H_404_41@
- 52@H_404_41@
- 53@H_404_41@
- 54@H_404_41@
- 55@H_404_41@
- 56@H_404_41@
- 57@H_404_41@
- 58@H_404_41@
- 59@H_404_41@
- 60@H_404_41@
- 61@H_404_41@
- 62@H_404_41@
- 63@H_404_41@
- 64@H_404_41@
- 65@H_404_41@
- 66@H_404_41@
- 67@H_404_41@
- 68@H_404_41@
- 69@H_404_41@
- 70@H_404_41@
- 71@H_404_41@
- 72@H_404_41@
- 73@H_404_41@
- 74@H_404_41@
- 75@H_404_41@
- 76@H_404_41@
- 77@H_404_41@
- 78@H_404_41@
- 79@H_404_41@
- 80@H_404_41@
- 81@H_404_41@
- 82@H_404_41@
- 83@H_404_41@
- 84@H_404_41@
- 85@H_404_41@
- 86@H_404_41@
- 87@H_404_41@
- 88@H_404_41@
- 89@H_404_41@
- 90@H_404_41@
- 91@H_404_41@
- 92@H_404_41@
- 93@H_404_41@
- 94@H_404_41@
- 95@H_404_41@
- 96@H_404_41@
ShoppingItem.java
- 1@H_404_41@
- 2@H_404_41@
- 3@H_404_41@
- 4@H_404_41@
- 5@H_404_41@
- 6@H_404_41@
- 7@H_404_41@
- 8@H_404_41@
- 9@H_404_41@
- 10@H_404_41@
- 11@H_404_41@
- 12@H_404_41@
- 13@H_404_41@
- 14@H_404_41@
- 15@H_404_41@
- 16@H_404_41@
- 17@H_404_41@
- 18@H_404_41@
- 19@H_404_41@
- 20@H_404_41@
- 21@H_404_41@
- 22@H_404_41@
- 23@H_404_41@
- 24@H_404_41@
- 25@H_404_41@
- 26@H_404_41@
- 27@H_404_41@
- 28@H_404_41@
- 29@H_404_41@
- 30@H_404_41@
- 31@H_404_41@
- 32@H_404_41@
- 33@H_404_41@
- 34@H_404_41@
- 35@H_404_41@
- 36@H_404_41@
- 37@H_404_41@
- 38@H_404_41@
- 39@H_404_41@
- 40@H_404_41@
- 41@H_404_41@
- 42@H_404_41@
- 43@H_404_41@
- 44@H_404_41@
- 45@H_404_41@
- 46@H_404_41@
- 47@H_404_41@
- 48@H_404_41@
- 49@H_404_41@
- 50@H_404_41@
- 51@H_404_41@
Address.java
- 1@H_404_41@
- 2@H_404_41@
- 3@H_404_41@
- 4@H_404_41@
- 5@H_404_41@
- 6@H_404_41@
- 7@H_404_41@
- 8@H_404_41@
- 9@H_404_41@
- 10@H_404_41@
- 11@H_404_41@
- 12@H_404_41@
- 13@H_404_41@
- 14@H_404_41@
- 15@H_404_41@
- 16@H_404_41@
- 17@H_404_41@
- 18@H_404_41@
- 19@H_404_41@
- 20@H_404_41@
- 21@H_404_41@
- 22@H_404_41@
- 23@H_404_41@
- 24@H_404_41@
- 25@H_404_41@
- 26@H_404_41@
- 27@H_404_41@
- 28@H_404_41@
- 29@H_404_41@
- 30@H_404_41@
- 31@H_404_41@
- 32@H_404_41@
- 33@H_404_41@
- 34@H_404_41@
- 35@H_404_41@
- 36@H_404_41@
- 37@H_404_41@
- 38@H_404_41@
- 39@H_404_41@
- 40@H_404_41@
- 41@H_404_41@
- 42@H_404_41@
- 43@H_404_41@
- 44@H_404_41@
- 45@H_404_41@
- 46@H_404_41@
- 47@H_404_41@
- 48@H_404_41@
- 49@H_404_41@
- 50@H_404_41@
- 51@H_404_41@
- 52@H_404_41@
- 53@H_404_41@
- 54@H_404_41@
- 55@H_404_41@
- 56@H_404_41@
- 57@H_404_41@
- 58@H_404_41@
- 59@H_404_41@
- 60@H_404_41@
- 61@H_404_41@
JAXBDemo.java
- 1@H_404_41@
- 2@H_404_41@
- 3@H_404_41@
- 4@H_404_41@
- 5@H_404_41@
- 6@H_404_41@
- 7@H_404_41@
- 8@H_404_41@
- 9@H_404_41@
- 10@H_404_41@
- 11@H_404_41@
- 12@H_404_41@
- 13@H_404_41@
- 14@H_404_41@
- 15@H_404_41@
- 16@H_404_41@
- 17@H_404_41@
- 18@H_404_41@
- 19@H_404_41@
- 20@H_404_41@
- 21@H_404_41@
- 22@H_404_41@
- 23@H_404_41@
- 24@H_404_41@
- 25@H_404_41@
- 26@H_404_41@
- 27@H_404_41@
- 28@H_404_41@
- 29@H_404_41@
- 30@H_404_41@
- 31@H_404_41@
- 32@H_404_41@
- 33@H_404_41@
- 34@H_404_41@
- 35@H_404_41@
- 36@H_404_41@
- 37@H_404_41@
- 38@H_404_41@
- 39@H_404_41@
- 40@H_404_41@
- 41@H_404_41@
- 42@H_404_41@
- 43@H_404_41@
- 44@H_404_41@
- 45@H_404_41@
- 46@H_404_41@
- 47@H_404_41@
- 48@H_404_41@
- 49@H_404_41@
- 50@H_404_41@
- 51@H_404_41@
- 52@H_404_41@
- 53@H_404_41@
- 54@H_404_41@
- 55@H_404_41@
- 56@H_404_41@
- 57@H_404_41@
- 58@H_404_41@
- 59@H_404_41@
- 1@H_404_41@
- 2@H_404_41@
- 3@H_404_41@
- 4@H_404_41@
- 5@H_404_41@
- 6@H_404_41@
- 7@H_404_41@
- 8@H_404_41@
- 9@H_404_41@
- 10@H_404_41@
- 11@H_404_41@
- 12@H_404_41@
- 13@H_404_41@
- 14@H_404_41@
- 15@H_404_41@
- 16@H_404_41@
- 17@H_404_41@
- 18@H_404_41@
- 19@H_404_41@
- 20@H_404_41@
- 21@H_404_41@
- 22@H_404_41@
- 23@H_404_41@
- 24@H_404_41@
- 25@H_404_41@
- 26@H_404_41@
- 27@H_404_41@
- 28@H_404_41@
- 29@H_404_41@
- 30@H_404_41@
- 31@H_404_41@
- 32@H_404_41@
- 33@H_404_41@
- 34@H_404_41@
- 35@H_404_41@
- 36@H_404_41@
- 37@H_404_41@
- 38@H_404_41@
- 39@H_404_41@
- 40@H_404_41@
忽略字段
使用@XmlTransient
- 1@H_404_41@
- 2@H_404_41@
- 3@H_404_41@
- 4@H_404_41@
- 5@H_404_41@
- 6@H_404_41@
- 7@H_404_41@
- 8@H_404_41@
- 9@H_404_41@
- 10@H_404_41@
- 11@H_404_41@
- 12@H_404_41@
- 13@H_404_41@
- 14@H_404_41@
- 15@H_404_41@
- 16@H_404_41@
- 17@H_404_41@
- 18@H_404_41@
- 19@H_404_41@
- 20@H_404_41@
- 21@H_404_41@
- 22@H_404_41@
- 23@H_404_41@
- 24@H_404_41@
- 25@H_404_41@
- 26@H_404_41@
- 27@H_404_41@
- 28@H_404_41@
- 29@H_404_41@
- 30@H_404_41@
- 31@H_404_41@
- 32@H_404_41@
- 33@H_404_41@
- 34@H_404_41@
- 35@H_404_41@
- 36@H_404_41@
- 37@H_404_41@
- 38@H_404_41@
- 39@H_404_41@
- 40@H_404_41@
- 41@H_404_41@
- 42@H_404_41@
- 43@H_404_41@
- 44@H_404_41@
- 45@H_404_41@
- 46@H_404_41@
- 47@H_404_41@
- 48@H_404_41@
- 49@H_404_41@
- 50@H_404_41@
- 51@H_404_41@
- 52@H_404_41@
- 53@H_404_41@
- 54@H_404_41@
- 55@H_404_41@
- 56@H_404_41@
- 57@H_404_41@
- 1@H_404_41@
- 2@H_404_41@
- 3@H_404_41@
- 4@H_404_41@
- 5@H_404_41@
- 6@H_404_41@
- 7@H_404_41@
- 8@H_404_41@
- 9@H_404_41@
- 10@H_404_41@
- 11@H_404_41@
- 12@H_404_41@
- 13@H_404_41@
- 14@H_404_41@
- 15@H_404_41@
- 16@H_404_41@
- 17@H_404_41@
- 18@H_404_41@
- 19@H_404_41@
- 20@H_404_41@
- 21@H_404_41@
- 22@H_404_41@
- 23@H_404_41@
- 24@H_404_41@
- 25@H_404_41@
- 26@H_404_41@
- 27@H_404_41@
- 28@H_404_41@
- 29@H_404_41@
- 30@H_404_41@
- 31@H_404_41@
- 32@H_404_41@
- 33@H_404_41@