当前位置:  开发笔记 > 编程语言 > 正文

iPhone开发 - XMLParser与libxml2对比TouchXML

如何解决《iPhone开发-XMLParser与libxml2对比TouchXML》经验,为你挑选了2个好方法。

我找不到这些解析技术的比较.哪一个最常用?

问候.穆斯塔法



1> Robbie Hanso..:

NSXMLParser是一个SAX解析器,意味着它逐步执行XML文档,并通过各种事件(例如启动xml节点,查找属性等)通知您(通过委托方法).这种类型的XML处理最适合解析大型文档,并且只需要从大文件中检索少量数据.

与SAX相比,DOM模型将整个XML树解析到内存中(通常只需一次调用),然后您可以从呈现的API中自由地浏览XML文档.这通常更容易使用,因为您可以随机访问整个xml文档.

所以应该回答的第一个问题是SAX vs DOM问题.如果您想要使用大型XML文件(例如10 MB或更大),您可能希望坚持使用SAX.如果您正在处理小型XML文件或小型XML片段,那么使用DOM通常会容易得多.

如果您确实决定使用DOM,那么您有几个选择.

libxml2是一个用C编写的非常强大的API.它主要用于DOM样式,但如果你对它有经验,还有其他选择.但是,由于它是用C语言编写的,对于那些更熟悉Objective-C(对象和自动释放)或者来自.Net世界的人来说,它通常不具吸引力.因此,需要/期望围绕libxml的本机Objective-C包装器使其更熟悉.TouchXML就是这样一个包装器.如果您只需要对XML的读访问权限,它就可以正常工作.如果你想改变XML,或者从头开始创建XML片段/文档,我建议你选择KissXML.


嘿Robbie,TouchXML确实支持编写XML.

2> 小智..:

请参阅iOS的XML教程:如何为您的iPhone项目选择最佳XML解析器:

在iPhone上解析XML时有很多选择.iPhone SDK附带两个不同的库可供选择,并且有几个流行的第三方库可用,如TBXML,TouchXML,KissXML,TinyXML和GDataXML.开发人员如何为他们的项目选择最好的XML解析器?

我最近看了很多选项,最后扩展了Apple的XMLPerformance示例,试用上面的每个库来了解它们的工作原理并比较它们的性能.我想我会分享到目前为止我所学到的其他人可能正在为他们的iPhone项目寻找最好的XML库.

在这个XML教程中,我们将详细比较最流行的iPhone库的功能和性能,解释如何在它们之间进行选择,并提供一个示例项目,展示如何使用上述每个库读取XML数据......

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有