繁体   English   中英

将XML解析器与类解耦

[英]Decoupling XML parser from classes

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

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

我想根据我创建的模式来验证该用户提供的XML,然后基于XML创建这些类的实例。 我的问题是,如果我添加一个子类(例如reptile),则必须更改XML解析器的实现以及用于验证XML的架构。 这似乎是一种不好的做法,因为类层次结构的更改要求在其他地方进行更改。 无论如何,是否有将用户可以提供的XML和验证它的Schema最小化添加到我的Android应用程序中的影响?

我找到了解决方案。 使用批注和类似JAXB或Simple的框架,您可以将对象与xml序列化/反序列化。 JAXB可以在Android上运行,这可能是一个解决方案。 链接

但是JAXB重量很重,因此我赞成Simple,因为它更轻便。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM