[英]Inheritance object simplexml with android
我正在嘗試使用simplexml對對象進行反序列化,並且使用Java工作的代碼無法在Android上運行。
簡單的類:
@Root
public class GenericContainer
{
@Element
public MainEntity el;
}
聲明:
GenericContainer genContainer = new GenericContainer();
genContainer.el = new SubClassBEntity(); //SubClassBEntity is a Subclass of MainEntity
被序列化並生成一個xml:
<?xml version='1.0' encoding='utf-8'?>
<genericContainer>
<el class="test.entities.SubClassBEntity>
<x>1</x>
</el>
</genericContainer>
如果我嘗試使用Java反序列化xml一切正常,但是如果我使用android進行反序列化,則崩潰,異常消息為test.entities.SubClassBEntity
。
有解決這個問題的主意嗎? 謝謝
我發現的唯一解決方案是使用@ElementUnion
將所有可能性放入其中。 這是一個骯臟的解決方案,因為您可以有一個包含50個子類的基類,並且必須全部放入。 自動重構不會更改注釋,這將是易於出錯的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.