如何选择你的iPhone XML解析器
2010-08-29 01:53:00 来源:WEB开发网我很惊讶,但是,看到TBXML和其他一些DOM的解析方法进行速度比的libxml2的SAX解析器,我原以为将是最快的方法所有。 我没有异型,但以我的猜测为什么它是慢,因为经常需要比较字符串中的SAX解析方法的文件。
但是,不要在这个折扣的图表看的libxml2的SAX方法。 请记住,libxml2的是这些方法,可以分析该文件,因为它的阅读中,只有1 - 因此它可以让你的程序立刻开始显示数据而不是让下载排名榜首。
好吧,这里有一个图表,显示由解析器高峰内存使用(这是通过运行通过对象分配工具的各种方法获得):
请注意,DOM方法通常需要更多的内存比SAX的方法与TBXML,这确实是相当有效的异常(开销)。 这是值得考虑当您正在处理的,特别是大文件,得出了一个iPhone的内存限制。
此外请注意的libxml2的SAX的方法是最好的选择,因为据峰值内存使用量而言(我怀疑它的规模比其他人的声音)。
最后,让我们的总结与概括的图表分析器之间的一切,我们已经讨论了上述的差异:
NSXMLlibxml2的 - 的SAXTBXMLTouchXMLKissXMLTinyXML的GDataXMLlibxml2的 - 的DOM
包含在SDK的?是的是的没有没有没有没有没有是的
秒的时间解析1.871.190.681.11.371.271.070.84
峰值内存使用3.113.013.076.55.254.84.154.97
解析而下载?没有是的没有没有没有没有没有没有
编辑/保存XML?没有没有没有没有是的是的是的是的
XPath的支持?没有没有没有是的是的是*是的是的
C或的OBJ - C的的OBJ - C的ç的OBJ - C的的OBJ - C的的OBJ - C的ç的OBJ - C的ç
牌照苹果麻省理工学院麻省理工学院麻省理工学院麻省理工学院了ZLib阿帕奇麻省理工学院
*与TinyXPath =
哪一个选择?
这是XML解析器来选择实际上取决于你想要做什么用的分析器。
如果你只是想读小XML文档 ,性能并不重要,文件非常小。 你可能想选择使用XPath的支持和东西是在Objective - C语言编写的东西,使您的工作更容易。 所以我推荐这种情况下要么TouchXML,KissXML,或GDataXML。
如果你想同时读取和写入小XML文档 ,再次表现并不重要,功能多的和易用性。 你可能想选择使用XPath支持的时候,在Objective -
赞助商链接