@XmlRootelement
指定根目录。
//标注在实体类上 @XmlRootElement(name = "xmlEntity") public class XmlEntity{ ………… }
@XmlType
将类或枚举类型映射到 XML 模式类型,配合如下属性使用:
name
属性在你不想使用class名的时候,来指定XML Schema中的名字
propOrder
值是一个字符串数组,用来设置子elements的顺序。(定义的elements顺序必须和类属性顺序一致)
//映射类属性(映射的类属性顺序必须一致) @XmlType(name = "xmlEntity" propOrder = { "name", "sex", "age" }) @XmlRootElement(name = "xmlEntity") public class XmlEntity{ protected String name; protected String sex; protected Int age; }
@XmlAccessorType
定义这个类中的哪些类型需要映射到XML,配合如下属性使用:
XmlAccessType.FIELD
映射这个类中的所有字段到XML
XmlAccessType.PROPERTY
映射这个类中的属性(get/set方法)到XML
XmlAccessType.PUBLIC_MEMBER
将这个类中的所有public的field或property同时映射到XML(默认)
XmlAccessType.NONE
不映射
//映射这个类中的所有字段到XML @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "xmlEntity" propOrder = { "name", "sex", "age" }) @XmlRootElement(name = "xmlEntity") public class XmlEntity{ protected String name; protected String sex; protected Int age; }
@XmlElement
表示这个field将在XML中被转成一个element节点
@XmlAccessorType(XmlAccessType.PROPERTY) @XmlType(name = "xmlEntity" propOrder = { "name", "sex",
"age" }) @XmlRootElement(name = "xmlEntity") public class XmlEntity{ protected String name; protected String sex; @XmlElement(name = "age") protected Int age; public void getName(){return this.name} public String setName(String name){this.name = name} public void getSex(){return this.sex} public String setSex(String sex){this.sex= sex} }
@XmlElementWrapper注解
表示生成一个包装 XML 表示形式的包装器元素
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "xmlEntity" propOrder = { "name", "sex", "age", "list" }) @XmlRootElement(name = "xmlEntity") public class XmlEntity{ protected String name; protected String sex; protected Int age; @XmlElementWrapper(name = "list") @XmlElement(name = "Data") protected List<String> list; }
@XmlTransient注解
定义某字段(属性)不需要被映射为xml。
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "xmlEntity" propOrder = { "name", "sex" }) @XmlRootElement(name = "xmlEntity") public class XmlEntity{ protected String name; protected String sex; @XmlTransient protected Int age; }