我想使用簡單的xml(http://simple.sourceforge.net/)來序列化一個對象。對象的設置是相當簡單:如何避免使用Simple Xml序列化零值
@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>
我猜這是因爲ID屬性不爲空,因爲整數不能爲空。但我真的需要擺脫這個節點,我寧願不手動刪除它。
任何線索有人嗎?
你應該更早地發佈你的問題! ;-) –