@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; }