博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAXB--@XmlType注解标注xml生成顺序
阅读量:6229 次
发布时间:2019-06-21

本文共 1519 字,大约阅读时间需要 5 分钟。

默认情况下,Jaxb编组出来的xml中的字段顺序是随机的,你可以使用@XmlType的propOrder属性
来指定序列化的顺序。
 
第一步:定义java类时,使用@XmlType(propOrder = { "id", "name", "age","book"})指定输出顺序。
 
Java代码  
  1. package step2;  
  2. import java.util.Set;  
  3.   
  4. import javax.xml.bind.annotation.XmlElement;  
  5. import javax.xml.bind.annotation.XmlElementWrapper;  
  6. import javax.xml.bind.annotation.XmlRootElement;  
  7. import javax.xml.bind.annotation.XmlType;  
  8.   
  9. @XmlRootElement  
  10. @XmlType(propOrder = { "id", "name", "age","book"})  
  11. public class Customer {  
  12.     String name;  
  13.     int age;  
  14.     int id;  
  15.     Set<Book> book;  
  16.     @XmlElement(name="name")  
  17.     public String getName() {  
  18.         return name;  
  19.     }  
  20.   
  21.     public void setName(String name) {  
  22.         this.name = name;  
  23.     }  
  24.   
  25.     @XmlElement(name="age")  
  26.     public int getAge() {  
  27.         return age;  
  28.     }  
  29.   
  30.     public void setAge(int age) {  
  31.         this.age = age;  
  32.     }  
  33.     @XmlElement(name="id")  
  34.     public int getId() {  
  35.         return id;  
  36.     }  
  37.   
  38.     public void setId(int id) {  
  39.         this.id = id;  
  40.     }  
  41.   
  42.       
  43.     @Override  
  44.     public String toString() {  
  45.         return "Customer [id=" + id + ",name=" + name + ",age=" + age + ",book=" + book + "]";  
  46.     }  
  47.     @XmlElementWrapper(name="books")  
  48.     @XmlElement(name="book")  
  49.     public Set<Book> getBook() {  
  50.         return book;  
  51.     }  
  52.   
  53.     public void setBook(Set<Book> book) {  
  54.         this.book = book;  
  55.     }  
  56.   
  57.       
  58. }  
 
输出的xml:
 
Xml代码  
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
  2. <customer>  
  3.     <id>100</id>  
  4.     <name>suo</name>  
  5.     <age>29</age>  
  6.     <books>  
  7.         <book>  
  8.             <id>1</id>  
  9.             <name>哈里波特</name>  
  10.             <price>100.0</price>  
  11.         </book>  
  12.         <book>  
  13.             <id>2</id>  
  14.             <name>苹果</name>  
  15.             <price>50.0</price>  
  16.         </book>  
  17.     </books>  
  18. </customer>  

 

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

转载地址:http://mzxna.baihongyu.com/

你可能感兴趣的文章
第一次写JQuery插件--用于显示子菜单
查看>>
Java的几种对象(PO,VO,DAO,BO,POJO)解释
查看>>
Quartz总结(一):Quartz集成Spring的2个方法
查看>>
读取文件,输出单词
查看>>
zabbix常用的python类api
查看>>
Oracle第三章——SQL语言
查看>>
《代码大全》阅读笔记-19-一般控制问题
查看>>
VB编程技巧推荐
查看>>
Django 简介
查看>>
golang array, slice, string笔记
查看>>
java 集合、接口
查看>>
AutoMapper用法
查看>>
维护后面的position + 离线 + 线段树 bzoj 3585
查看>>
StringUtils常用方法+StringUtils详细介绍
查看>>
iOS开发之JSON解析
查看>>
iOS开发之Run Loop
查看>>
PDF 补丁丁 0.5.0.2731 发布(增加去除页面表单和链接水印功能)
查看>>
PDF 补丁丁 0.6.0.3355 版发布(修复阅读模式、书签缩放的问题)
查看>>
python 内嵌模块——time
查看>>
关于form与表单操作
查看>>