将XML解析器与类分离

时间:2013-11-01 22:42:43

标签: java android xml xsd decoupling

我正在编写一个Android应用程序,我希望为最终用户提供使用XML从类层次结构创建对象集合的能力。例如:我希望用户能够提供类似这个任意示例的内容:

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

我想根据我创建的模式验证这个用户提供的XML,然后根据XML创建这些类的实例。我的问题是,如果我添加一个子类...说爬虫,我必须改变XML解析器的实现以及验证XML的模式。这似乎是不好的做法,因为类层次结构的变化要求在其他地方进行更改。无论如何,最小化在我的Android应用程序中添加类型对用户可以提供的XML以及验证它的模式的影响?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。使用注释和JAXB或Simple之类的框架将允许您将对象序列化/反序列化为xml。 JAXB可以在Android上运行,这可能是一个解决方案。 link

但是JAXB非常重,所以我赞成Simple因为它更轻量级。