解析XML的最佳实践

Rob*_*uch 2 xml parsing android

我的应用程序将解析通过HTTP接收的XML.据我所知,解析XML有三种主要方式:

  • SAX
  • DOM
  • XmlPullParser

据说SAX是其中速度最快的,而DOM不适合大型XML文档.但就解析而言,什么是大型XML文档?对于以下内容,推荐的解析器是什么?

  • XML文档大小在1-5 kB之间
  • 轻松遍历文档,即我不仅需要知道当前元素,还需要知道父元素.

Rob*_*oli 7

据我所知,解析XML有三种主要方式:
- SAX
- DOM
- XmlPullParser

错误!这些都不是最好的方式.您真正想要的是使用Simple XML Framework进行基于注释的解析.要了解为什么遵循这个逻辑:

  1. Java使用对象.
  2. XML可以使用Java对象表示.(见JAXB)
  3. 可以使用注释将该XM​​L映射到Java对象,反之亦然.
  4. Simple XML Framework使用Annotations允许您将Java和XML映射到一起.
  5. Simple XML能够在Android上运行(与JAXB不同).
  6. 您应该使用Simple XML来满足Android上的所有XML需求.

为了帮助您做到这一点,我将指向您自己的博客文章,该文章解释了如何在Android上使用简单库.

除非你有一个100MB的XML文件,否则Simple将足够快.对我来说,我在所有Android XML项目中使用它.

NB我应该指出,如果您要求用户在Android上下载超过1MB的XML文件,那么您可能需要重新考虑您的策略.你可能做错了.

  • 我喜欢将XML数据映射到Java对象的想法并尝试一下.我找到了另一个名为VTD-XML的API,这似乎值得一看. (2认同)