単純なxml(http://simple.sourceforge.net/)を使用してオブジェクトをシリアル化しようとしています。オブジェクトの設定は非常に簡単です。
@Root(name = "order_history")
public class OrderHistory {
@Element(name = "id", required = false)
public int ID;
@Element(name = "id_order_state")
public int StateID;
@Element(name = "id_order")
public int OrderID;
}
問題は、IDなしでこのクラスの新しいインスタンスを作成するときです。
OrderHistory newhistory = new OrderHistory();
newhistory.OrderID = _orderid;
newhistory.StateID = _stateid;
そして私はそれを単純なxmlでシリアル化します:
StringWriter xml = new StringWriter();
Serializer serializer = new Persister();
serializer.write(newhistory, xml);
結果のxmlではまだ0を読み取ります。
<?xml version='1.0' encoding='UTF-8'?>
<order_history>
<id>0</id>
<id_order>2</id_order>
<id_order_state>8</id_order_state>
</order_history>
これは、整数をnullにすることはできないため、IDプロパティがnullではないためだと思います。しかし、私は本当にこのノードを取り除く必要があり、手動で削除したくありません。
誰か手がかりはありますか?