如何设置一些属性而不是xml元素

时间:2014-02-14 16:11:01

标签: java xml web-services jaxb

在Java中,我将@XmlRootElement(name = "MyClass")添加到我的类中,它让类中的所有属性都成为xml元素,现在我有一个属性,它不需要是xml元素,我该怎么办?谢谢。乔治

@XmlRootElement(name = "MyClass")
public class MyClass{
    public String A ;
    public String B ;

    //what xml anotation to be set here ?
    public String notXmlelement ; 

}

2 个答案:

答案 0 :(得分:1)

如果您有一个不应该作为XML持久化的字段(我假设您使用的是JAXB),请将其标记为@XmlTransient

@XmlTransient
public String notXmlelement; 

答案 1 :(得分:1)

排除少于一半的属性

如果排除少于一半的映射字段/属性,则可以使用@XmlTransient执行此操作。

public Class {

    public String a;   // include
    public String b;   // include
    public String c;   // include
    @XmlTransient public String d;   // exclude

}

不包括超过一半的属性

如果排除了一半以上的映射字段/属性,则可以指定@XmlAccessorType(XmlAccessType.NONE),然后只包含带注释的字段/属性。

@XmlAccessorType(XmlAccessType.NONE)
public Class {

    public String a;   // exclude
    public String b;   // exclude
    public String c;   // exclude
    @XmlElement public String d;   // include

}

更多信息