Android 如何强制转换器不序列化基元类型数据?

Android 如何强制转换器不序列化基元类型数据?,android,xml,retrofit,simple-framework,Android,Xml,Retrofit,Simple Framework,我将改型与SimpleXMLConverter结合使用,但有一件事我无法通过注释解决,即: 当我序列化具有双成员的类时,它被包装在标记中,我想要它: @Root(name = "WrappedDouble", strict = false) public class WrappedDouble { @Element(name = "theRealDoubleField") double classField; } 序列化这样的类会 <WrappedDouble>

我将改型与SimpleXMLConverter结合使用,但有一件事我无法通过注释解决,即:

当我序列化具有双成员的类时,它被包装在
标记中,我想要它:

@Root(name = "WrappedDouble", strict = false)
public class WrappedDouble {
    @Element(name = "theRealDoubleField")
    double classField;
}
序列化这样的类会

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

3

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

您使用的是哪个版本的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;
    }
}