簡體   English   中英

Android繼承對象simplexml

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM