`
wode66
  • 浏览: 742664 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAXB--@XmlType注解标注xml生成顺序(四)

阅读更多
默认情况下,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列表中。
分享到:
评论

相关推荐

    javax.rar(jaxb-impl-2.3.0、jaxb-core-2.3.0、jaxb-api-2.3.0)

    标题中的"jaxb-impl-2.3.0、jaxb-core-2.3.0、jaxb-api-2.3.0"是JAXB的不同组件版本号,它们在处理XML到Java对象之间的转换时起到关键作用。在描述中提到的“Maven项目中缺少jaxb-api的异常报错”,通常指的是在运行...

    jaxb-api-2.1.jar 和 jaxb-impl-2.1.8.jar

    `jaxb-api-2.1.jar` 和 `jaxb-impl-2.1.8.jar` 是Java应用程序中用于XML绑定(Java Architecture for XML Binding,简称JAXB)的重要库文件。JAXB是Java SE和Java EE平台的标准部分,它提供了一种将XML文档与Java...

    JAXB-XML注解

    JAXB-XML 注解 JAXB(Java Architecture for XML Binding) 是一个根据 XML Schema 1.0 将 Java 对象转换为 XML 的绑定框架。JAXB 提供了一些注解来控制 Java 对象和 XML 之间的转换过程。这些注解可以应用于 Java 类...

    jaxb-api-2.3.1-API文档-中文版.zip

    Maven坐标:javax.xml.bind:jaxb-api:2.3.1; 标签:bind、javax、xml、api、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    JAXB2 jaxb-api.jar jaxb-xjc.jar jaxb-impl.jar activation.jar

    2. **jaxb-xjc.jar**:XJC(XML Java Compiler)是JAXB的代码生成工具,可以将XML Schema(XSD)转换为对应的Java类。当你有XML Schema定义时,使用xjc工具可以自动生成符合该Schema的Java类,使得处理XML数据更为...

    jaxb-runtime-2.3.5-API文档-中英对照版.zip

    赠送jar包:jaxb-runtime-2.3.5.jar; 赠送原API文档:jaxb-runtime-2.3.5-javadoc.jar; 赠送源代码:jaxb-runtime-2.3.5-sources.jar; 赠送Maven依赖信息文件:jaxb-runtime-2.3.5.pom; 包含翻译后的API文档:...

    jaxb-runtime-2.3.5-API文档-中文版.zip

    赠送jar包:jaxb-runtime-2.3.5.jar; 赠送原API文档:jaxb-runtime-2.3.5-javadoc.jar; 赠送源代码:jaxb-runtime-2.3.5-sources.jar; 赠送Maven依赖信息文件:jaxb-runtime-2.3.5.pom; 包含翻译后的API文档:...

    jaxb-impl.jar jaxb-api.jar jsr173_1.0_api.jar

    `jaxb-xjc.jar`是JAXB的代码生成器,用于从XML Schema生成对应的Java类。而`jaxb-xjc.src.zip`可能包含了这些生成器的源代码,方便开发者查看和定制。 `jaxb1-impl.jar`和`jaxb1-impl-src.zip`可能是针对JAXB 1.x...

    jackson-module-jaxb-annotations-2.7.8-API文档-中英对照版.zip

    赠送jar包:jackson-module-jaxb-annotations-2.7.8.jar; 赠送原API文档:jackson-module-jaxb-annotations-2.7.8-javadoc.jar; 赠送源代码:jackson-module-jaxb-annotations-2.7.8-sources.jar; 赠送Maven依赖...

    activation.jar jaxb1-impl.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jsr173_1.0

    3. **jaxb-api.jar**:这是JAXB的API,包含了一组用于XML绑定的公共接口和类。它是JAXB规范的一部分,定义了如何将Java类与XML Schema绑定,以及如何在Java代码中生成和解析XML文档。 4. **jaxb-impl.jar**:这是...

    jaxb-api.jar.jaxws-api.zip_ jaxb-api.jar_cxf_jax-ws.jar_jaxb-api

    标题提到的"jaxb-api.jar.jaxws-api.zip_ jaxb-api.jar_cxf_jax-ws.jar_jaxb-api",是针对这个问题提供的一组支持包。 **JAXB(Java Architecture for XML Binding)** 是Java平台的一个标准,它允许开发者将XML文...

    jaxb-core-2.3.0.jar

    有关Maven项目中缺少jaxb-api的异常报错解决,jaxb-core-2.3.0.jar

    jaxb-api jaxb-impl jar

    但如果需要生成Java类或者执行编组/反编组操作,就需要`jaxb-impl.jar`中的实现。 JAXB的应用场景广泛,包括但不限于以下几点: - **数据交换**: 通过将Java对象转换为XML,可以方便地在不同的系统间交换数据。 - *...

    jaxb-svg11-1.0.2-API文档-中文版.zip

    赠送jar包:jaxb-svg11-1.0.2.jar; 赠送原API文档:jaxb-svg11-1.0.2-javadoc.jar; 赠送源代码:jaxb-svg11-1.0.2-sources.jar; 赠送Maven依赖信息文件:jaxb-svg11-1.0.2.pom; 包含翻译后的API文档:jaxb-svg11...

    jaxb-api-2.3.0-API文档-中英对照版.zip

    Maven坐标:javax.xml.bind:jaxb-api:2.3.0; 标签:javax、xml、bind、jaxb、api、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    jaxb-core-2.2.10-b140310.1920-API文档-中文版.zip

    赠送jar包:jaxb-core-2.2.10-b140310.1920.jar; 赠送原API文档:jaxb-core-2.2.10-b140310.1920-javadoc.jar; 赠送源代码:jaxb-core-2.2.10-b140310.1920-sources.jar; 赠送Maven依赖信息文件:jaxb-core-...

    jaxb-impl-2.2.10-b140310.1920-API文档-中文版.zip

    赠送jar包:jaxb-impl-2.2.10-b140310.1920.jar; 赠送原API文档:jaxb-impl-2.2.10-b140310.1920-javadoc.jar; 赠送源代码:jaxb-impl-2.2.10-b140310.1920-sources.jar; 赠送Maven依赖信息文件:jaxb-impl-...

    jaxb-api jaxb-impl jaxb-xjc jaxws-rt jar包

    1. **jaxb-api.jar**: 这是JAXB的API接口,包含了所有必要的接口和抽象类,供开发者在项目中调用。比如`javax.xml.bind.JAXBContext`,它是整个JAXB框架的核心,负责创建上下文,解析XML到Java对象,或者将Java...

    jaxb-api-2.2 jaxb-impl

    在使用webservice,mule esb等需要jaxb的项目里经常会出现 JAXB 2.0 API is being loaded from the bootstrap classloader这个错误,按照打出的信息Use the endorsed directory mechanism to place jaxb-api.jar in ...

    jersey-media-jaxb-2.22.2-API文档-中英对照版.zip

    赠送jar包:jersey-media-jaxb-2.22.2.jar; 赠送原API文档:jersey-media-jaxb-2.22.2-javadoc.jar; 赠送源代码:jersey-media-jaxb-2.22.2-sources.jar; 赠送Maven依赖信息文件:jersey-media-jaxb-2.22.2.pom;...

Global site tag (gtag.js) - Google Analytics