2010-01-19 65 views
0

我想让我的应用程序通过互联网读取XML。iphone xml处理

另外我想保留以前下载的xml,这样下次我可能不需要再次下载,直到某个小时通过或根据设置的任何时间段。

您是否建议我先下载并在本地存储,然后再进行处理?或者我应该在下载的同时处理它(使用libxml2我猜)?

你通常使用远程XML的应用程序是什么?

针对3.0设备顺便说一句。

回答

0

libxml2库有一个SAX解析器,您可以使用它来处理XML,以减少内存使用量。如果您使用DOM解析器,则必须将整个文档存储在内存中,这可能是iPhone和iPod Touch设备的问题。

查看Apple的XMLPerformance示例应用程序,该应用程序演示了如何使用SAX解析器。这比DOM方法稍微复杂一些,但速度更快,内存更少。

+0

我想先下载xml的原因是我认为这是一种防止任何格式错误的xml使应用程序崩溃或弄乱所有内容的方法。与libxml2飞行解析似乎无法阻止。 – Macomatic 2010-01-20 02:47:27

+0

然后,您的应用程序的规范将要求您使用DOM解析器,libxml2还支持其他框架和包装器。 – 2010-01-20 03:59:54