如何选择你的iPhone XML解析器
2010-08-29 01:53:00 来源:WEB开发网KissXML是另一个NSSXML风格的DOM XML解析器的iPhone,其实TouchXML的基础上。 主要区别是KissXML还支持编辑和编写XML以及阅读。
TinyXML的是一个小型的C -基于DOM的XML解析器头只包含4个C文件和两个。 它同时支持读取和编写XML文件,但它不支持自己的XPath。 但是,您可以使用相关的库 - 该TinyXPath - 。
GDataXML是另一个NSXML风格的DOM XML解析器的iPhone,谷歌开发作为图书馆的一部分,他们的Objective - C的客户端。 短短的m文件和一个头组成,它同时支持阅读和编写XML文档和XPath查询。
好吧,现在让我们开始比较所有这些库!
应用XML解析器的性能比较
苹果公司已经作出了出色的代码示例调用XMLPerformance,让您所花费的时间比较分析一个〜900KB的XML文件,其中前300的iTunes同时与NSXML libxml2的宣传短片和歌曲。
该示例允许您选择一个分析方法,然后分析该文件,并就如何保持长时间才下载的文件,并解析数据库中的文件的统计。 然后,您可以到屏幕上看到一个统计,平均每个方法下载和解析时间。
我认为这将是一个理想的方法来测试各种API如何相互执行,使我扩大了样本,以包括上述图书馆。 你可以下载下面如果您想尝试它在您的设备更新项目。 它也可作为如何使用上述API的每个好例子!
下载更新XMLPerformance项目
关于该项目的说明:如果库中包含XPath的支持,我用一个单一的查找它,因为我觉得它代表了该图书馆将在实践中使用的方式。 但当然XPath是一般较手动通过树走的更慢,所以增加了对这些图书馆的基准。
因此,无论如何 - 我将讨论如何执行情况与样本上写我的设备这里,是结果 - 但随时给它一个在您的设备,或者调整对实际的XML数据,你需要的代码镜头解析!
XML解析器的性能比较
下面是一些图,显示了如何快速解析各种解析器对我的设备(1部3G版iPhone的XML文档):
正如你可以在这里看到,NSXMLParser是迄今为止最慢的方法。 TBXML是最快的,这是有道理的,因为很多功能被剔除,以优化只读解析时间。
更多精彩
赞助商链接