JAXB--@XmlType注解标注xml生成顺序(四)
发布时间:2020-12-16 00:08:01 所属栏目:百科 来源:网络整理
导读:默认情况下,Jaxb编组出来的xml中的字段顺序是随机的,你可以使用@XmlType的propOrder属性 来指定序列化的顺序。 第一步:定义java类时,使用@XmlType(propOrder = { "id","name","age","book"})指定输出顺序。 Java代码 收藏代码 package step2; import jav
默认情况下,Jaxb编组出来的xml中的字段顺序是随机的,你可以使用@XmlType的propOrder属性 第一步:定义java类时,使用@XmlType(propOrder = { "id","name","age","book"})指定输出顺序。 Java代码 收藏代码 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","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代码 收藏代码 <?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列表中。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |