XML:xml常用注解

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

 

posted @ 2020-05-24 00:16  怒吼的萝卜  阅读(4350)  评论(0编辑  收藏  举报