文档章节

在Java中,@XmlType 、@XmlRootElement、@XmlElement 这类用法

肥猫钓鱼
 肥猫钓鱼
发布于 2014/11/14 09:24
字数 282
阅读 93
收藏 0

默认情况下,Jaxb编组出来的xml中的字段顺序是随机的,你可以使用@XmlType的propOrder属性 来指定序列化的顺序。

第一步:定义java类时,使用@XmlType(propOrder = { "id", "name", "age","book"})指定输出顺序。

package step2;

import java.util.Set;

import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType;

@XmlRootElement @XmlType(propOrder = { "id", "name", "age","book"}) public class Customer { String name; int age; int id; Set<Book> book; @XmlElement(name="name") public String getName() { return name; }

public void setName(String name) {
	this.name = name;
}

@XmlElement(name="age")
public int getAge() {
	return age;
}

public void setAge(int age) {
	this.age = age;
}
@XmlElement(name="id")
public int getId() {
	return id;
}

public void setId(int id) {
	this.id = id;
}


@Override
public String toString() {
	return "Customer [id=" + id + ",name=" + name + ",age=" + age + ",book=" + book + "]";
}
@XmlElementWrapper(name="books")
@XmlElement(name="book")
public Set<Book> getBook() {
	return book;
}

public void setBook(Set<Book> book) {
	this.book = book;
}

}

输出的xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<customer> <id>100</id> <name>suo</name> <age>29</age> <books> <book> <id>1</id> <name>哈里波特</name> <price>100.0</price> </book> <book> <id>2</id> <name>苹果</name> <price>50.0</price> </book> </books> </customer>

注: 1.对于@XmlElementWrapper标注的属性,不能出现在@XmlType的propOrder列表中。 2.对于所有@XmlElement标注过的属性,必须出现在@XmlType的propOrder列表中。

//参考: http://suo.iteye.com/blog/1233621

© 著作权归作者所有

共有 人打赏支持
肥猫钓鱼
粉丝 1
博文 52
码字总数 9287
作品 0
深圳
程序员
JAXB Annotation初步使用

JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java类映射为XML表示方式。JAXB提供两种主要特性:将一个Java对象序列化为XML,以及反向操作,将XML解析成Java对象。换...

秋风醉了
2014/07/02
0
0
Apache CXF 整合 Map

在进行编码前有必要对一些基本的认识进行介绍,以便后面的讲解。 1、JAXB: JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这...

yaokangjun
2014/08/21
0
1
JAXB注解使用

一.Jaxb处理java对象和xml之间转换常用的annotation有: @XmlType @XmlElement @XmlRootElement @XmlAttribute @XmlAccessorType @XmlAccessorOrder @XmlTransient @XmlJavaTypeAdapter  二......

jason_wu_2
2016/12/22
9
0
JAXB注解 java 关于xml的注解,自动生成xml文件

JAXB中的注解,用来根据java类生成xml内容。 当使用 @XmlRootElement 注释对顶层类或枚举类型进行注释时,类型值被表示为 XML 文档中的 XML 元素。 JAXB Annotation XmlAccessorType默认规则...

于谦老师
2017/10/18
0
0
[CXF REST标准实战系列] 一、JAXB xml与javaBean的转换

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章Points: 1、不认识到犯错,然后得到永久的教训。 2、认识JAXB 3、代码实战 1、不认识到...

泥沙砖瓦浆木匠
2015/02/09
0
2

没有更多内容

加载失败,请刷新页面

加载更多

【mpvue】三

使用了快1个月,陆续整理发现的坑 1、pageA-pageB-pageA-pageC 如果以这种顺序,大概理解成,列表进详情B, 返回列表进入详情C,那么进入详情C的时候,会因为缓存,先展现详情B的内容。解决方...

登天的感觉
29分钟前
1
0
在EXCEL指定SHEET页,指定文字位置,插入批注

Java操作EXCEL文件,利用POI,在EXCEL指定SHEET页中指定文字位置处插入批注 package excel; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.hssf......

zhaochaochao
30分钟前
1
0
一些网站。

UI schema,可以用json定义UI表单:https://jsonforms.io/examples/array

王坤charlie
37分钟前
1
0
百万连接,百亿吞吐量服务的JVM性能调优实战

转载占小狼博客 应用:shark-新美大移动端网络优化(每日接受移动端请求约150亿) 应用特点 : qps比较高,新生代增长飞快 用户的连接需要维持一段时间 单机需要维持海量连接,几十万的级别 以...

BakerZhu
40分钟前
1
0
iOS涂色涂鸦效果、Swift仿喜马拉雅FM、抽屉转场动画、拖拽头像、标签选择器等源码

iOS精选源码 LeeTagView 标签选择控件 为您的用户显示界面添加美观的加载视图 Swift4: 可拖动头像,增加物理属性 Swift版抽屉效果,自定义转场动画管理器 Swift 仿写喜马拉雅FM 可能是最好用...

sunnyaigd
40分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部