代码之家  ›  专栏  ›  技术社区  ›  pankaj

如何解析一个巨大的xml文件

  •  1
  • pankaj  · 技术社区  · 14 年前

    谢谢 潘卡吉

    2 回复  |  直到 14 年前
        1
  •  5
  •   Stefan Arentz    14 年前

    400-500 MB的XML在iPhone上非常流行。寻找替代品。

    例如,如果要在应用程序中包含此文件,请考虑将其转换为sqlite或核心数据数据库,并在应用程序中包含该数据库。

        2
  •  1
  •   Adam Milligan    14 年前

    如前所述,XML很可能不适合这种数据量。如果您的XML中嵌入了图像数据或类似的内容,您可以将其放入应用程序的资源叉中,只需将XML引用文件放在适当的路径上即可。

    但是,如果您在这件事上没有任何选择,必须使用XML,那么您可以考虑使用libxml库而不是NSXMLParser。libxml解析器是用C编写的,因此使用它比NSXMLParser要多一些工作,但是它可以在设备上使用,并且根据XML的结构,它可能提供比Objective-C对应的更好的性能。当然,在这两种情况下都必须使用SAX解析。

    不管您如何解析XML,我都会附和您不要以这种格式保存数据的建议。一旦你提取了信息,试着把它转换成更容易处理的东西。这样至少可以将高性能成本限制在应用程序的初始使用上。