2015-07-09 52 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; 
    } 
} 

你使用任何自定義變壓器,轉換器策略