文档章节

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

肥猫钓鱼
 肥猫钓鱼
发布于 2014/11/14 09:24
字数 282
阅读 88
收藏 0
点赞 0
评论 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注解 java 关于xml的注解,自动生成xml文件

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

于谦老师
2017/10/18
0
0
JAXB注解使用

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

jason_wu_2
2016/12/22
9
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
EclipseLink Moxy对最新java api for json(JSR-353)的实现

最新的jave ee 7中,对JSON的解析实现使用的是JSR-353,其中,Eclipse旗下的EclipseLink开源项目向JAVE EE 7中贡献了不少力量,其中包括JPA 2.1 (JSR-338)的实现,另外一个贡献是本文向大家介绍...

jackyrong
2013/08/10
0
0
使用mybatis-generator生成dao层操作

使用mybatis-generator生成dao层操作 一 pom文件的配置添加 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dep......

writeademo
05/25
0
0
JAXB 解决XML与JavaBean的互换

JAXB 解决XML与JavaBean的互换 声明 版权所有,转载请注明出处 文章概要 基于JAXB2 的xml bean 转换工具 正文 运行环境 JDK,Dom4j JAXB 实现xml和javabean的编组和解组 测试用例:JavaBean 测试...

Cong_Cong
2015/11/25
350
0
SpringMVC接收xml格式参数

问题 在对接银行过程中,银行回调时请求参数格式为xml,要求返回格式也为xml(CDATA包裹),利用SpringMVC该怎么处理。 测试 xml格式参数为: 提供接受参数的对象 返回参数对象 处理xml格式参数...

寒武没有纪
07/04
0
0
Java Jersey使用總結

关于作者 马隆博(Lenbo Ma),Java,Javascript Blog: [http://mlongbo.com][1] E-Mail:mlongbo at gmail.com 创建于:2013/07/26 转载请注明出处: [http://mlongbo.com/2015/Java Jersey2......

空谷幽兰_
2013/08/14
0
13

没有更多内容

加载失败,请刷新页面

加载更多

下一页

防火墙实例

3、一个包过滤防火墙实例 环境:redhat9 加载了string time等模块 eth0 接外网──ppp0 eth1 接内网──192.168.0.0/24 #!/bin/sh modprobe ipt_MASQUERADE modprobe ip_conntrack_ftp modp...

李超小牛子
3分钟前
0
0
TensorFlow 作用域与操作符的受限范围

variable_scope 影响变量和操作符 name_scope 只影响操作符 with tf.name_scope(""),使用空字符串将作用域返回到顶层 tf.variable_scope("") 相当于添加一个空层 import tensorflow as tf...

阿豪boy
13分钟前
0
0
Java面试基础篇——第六篇:常见Map类的区别

常见的map类有: HashMap, ConcurrentHashMap (Jdk1.8) , LinkedHashMap, TreeMap, Hashtable。 其中我们最常用的莫过于HashMap, 和并发情况下使用的ConcurrentHashMap了,它们的主要区别就在...

developlee的潇洒人生
14分钟前
0
0
崛起于Springboot2.X之前端模版freemaker(23)

1、配置文件 spring: freemarker: allow-request-override: false cache: true check-template-location: true charset: UTF-8 content-type: text/html ......

木九天
31分钟前
1
0
spring-boot:run启动时,指定spring.profiles.active

Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile。 如果要指定spring-boot的spring.profiles.active,则必须使用mvn spring-boot:run -Drun.profiles=test......

夜黑人模糊灬
33分钟前
0
0
大数据分析挖掘技术学习:Python文本分类

引言 文本分类作为自然语言处理任务之一,被广泛应用于解决各种商业领域的问题。文本分类的目的是将 文本/文档 自动地归类为一种或多种预定义的类别。常见的文本分类应用如下: • 理解社交媒...

加米谷大数据
37分钟前
0
0
istio-0.8 指标监控,prometheus,grafana

配置: https://istio.io/docs/tasks/telemetry/metrics-logs/ https://istio.io/docs/tasks/telemetry/tcp-metrics/ envoy拦截请求>上报mixer>对接prometheus>grafana 效果截图: promethe......

xiaomin0322
39分钟前
0
0
公众号推荐

阿里技术 书籍:《不止代码》

courtzjl
42分钟前
0
0
关于改进工作效率

1.给不同的业务线建立需求群,所有的数据需求都在群里面提。 2.对于特别难搞定的事情,到对应的技术哪去做,有问题随时沟通。 3.定期给工作总结形成方法论。 4.学习新的技术,尝试用新的方法...

Avner
49分钟前
0
0
关于thinkphp 框架开启路径重写,无法获取Authorization Header

今天遇到在thinkphp框架中获取不到header头里边的 Authorization ,后来在.htaccess里面加多一项解决,记录下: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews Rewrite......

殘留回憶
53分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部