2012-02-11 91 views
0

我想在一个xml中包含来自3个不同类的对象。XStream-不包括一些值

我打算创建另一个类来保存这些对象的列表。

我只需要这些对象的值的子集。

有没有办法从XStream生成xml时省略少数值?

谢谢。

回答

1

尝试使用@XStreamOmitField批注。

看看文档在这里:http://x-stream.github.io/annotations-tutorial.html#OmitField

下面是从文档:

@XStreamAlias("message") 
class RendezvousMessage { 

    @XStreamOmitField 
    private int messageType; 

    @XStreamImplicit(itemFieldName="part") 
    private List<String> content; 

    @XStreamConverter(value=BooleanConverter.class, booleans={false}, strings={"yes", "no"}) 
    private boolean important; 

    @XStreamConverter(SingleValueCalendarConverter.class) 
    private Calendar created = new GregorianCalendar(); 

    public RendezvousMessage(int messageType, boolean important, String... content) { 
    this.messageType = messageType; 
    this.important = important; 
    this.content = Arrays.asList(content); 
    } 
}