2015-07-09 73 views
0

我使用的是SimpleXMLConverter一起改造,但有一件事我不能用注解工作了,即:如何强制转换器不序列化原始类型类型数据?

当我序列化具有双重成员的类,它包裹在<double>标签,我想它:

@Root(name = "WrappedDouble", strict = false) 
public class WrappedDouble { 
    @Element(name = "theRealDoubleField") 
    double classField; 
} 

序列化这样的类将给

<WrappedDouble> 
    <theRealDoubleField> 
     <double>3.0</double> 
    </theRealDoubleField> 
</WrappedDouble> 

有没有办法让这些标记消失?

回答

0

您使用的是什么版本的Simple?使用2.7.1和验证码:

Serializer serializer = new Persister(); 
WrappedDouble wd = new WrappedDouble(27.23); 
serializer.write(wd, System.out); // Write to stdout 

我碰到下面的(正确的)结果:

<WrappedDouble> 
    <theRealDoubleField>27.23</theRealDoubleField> 
</WrappedDouble> 

为了完整起见,下面是我用于测试的执行情况:

@Root(name = "WrappedDouble", strict = false) 
public class WrappedDouble 
{ 
    @Element(name = "theRealDoubleField") 
    double classField; 


    public WrappedDouble(double d) 
    { 
     this.classField = d; 
    } 

    WrappedDouble() 
    { 
     this(0.0); 
    } 


    public double getClassField() 
    { 
     return classField; 
    } 
} 

你使用任何自定义变压器,转换器策略