[英]Unmarshalling XML files into Java objects in Android?
有一个适用于Android的框架,它使用与JAXB类似的方式使用注释进行Java到XML的绑定,它被称为Simple,重量不到270K,这是XStream或JAXB所需的一小部分。 此外,它没有外部依赖,只有一个JAR,一切都应该工作。 下面是Simple的简单链接和Java的XML序列化框架。
这也可以处理对象图中的循环。
XStream是431k。 您不需要Android应用程序中的整个分发zip。 如果你添加xpp3 pull解析器以获得更快的性能,那么它将增加24k。 这将使你的整个包裹达到455k。 仍然不理想,但我可以忍受。
有许多工具可以在Java和XML之间转换对象,但是我熟悉的那些工具都不比你找到的那些小。 但是,根据对象图的复杂程度,SAX可能就是您所需要的,而且开销很小。 诀窍是在SAX事件处理程序中自己构建对象图。 在XML编组器广泛可用之前,我已经在几个项目中使用了这种技术,虽然它需要更多的工作,但它是有效的。
kxml2-2.2.2是一个很好的小lib(43K),可以在JavaME上工作,拉解析,我已成功使用它。 它唯一的依赖是xmlpull,即8k。 小的怎么样?
警告是它没有做任何绑定魔法。
在Android SDK中,除了SAX之外,DOM解析器和XMLPullParser也可用。
如果您不想完全自己构建内存数据结构,DOM可能会减轻您的痛苦 - 只要速度和内存占用是您愿意支付的价格。
我们有一个名为XBinder的产品,可以从XSD生成类和编码/解码代码。 版本2.1大约需要187K。 版本2.2(将于2010年10月发布)大约需要101K(并且在Android上比v2.1更容易使用)。 在这里查看 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.