2013-11-01 81 views
0

我正在編寫一個Android應用程序,並希望爲最終用戶提供從XML類層次結構創建對象集合的能力。例如:我想用戶能夠提供這樣的任意例子:從類中解耦XML解析器

<animals> 
    <dogs> 
     <bulldog name="Frank" /> 
     <mastif name="George" /> 
    </dogs> 
    <cats> 
     <mainecoon name="Alex" age="3" /> 
    </cats> 
</animals> 

我想驗證此用戶提供針對某個架構創建XML,然後創建的這些實例基於XML的類。我的問題是,如果我添加一個子類...說爬行動物,我必須更改XML解析器的實現以及模式來驗證XML。這似乎是不好的做法,因爲類層次結構中的更改要求在其他地方進行更改。無論如何,爲了儘量減少添加類型到我的Android應用程序對用戶可以提供的XML和驗證它的模式的影響?

回答

0

我找到了解決方案。使用註釋和JAXB或Simple之類的框架可以讓你序列化/反序列化xml對象。 JAXB可以在Android上運行,這可能是一個解決方案。 link

但JAXB是相當重的重量,所以我贊成Simple,因爲它更輕量。