[转]ios几种常用的XML解析器
SAX解析器是在你的代码分析器通知作为遍历XML树,你是通过负责保持跟踪状态和建设的任何对象你可能想游行保持分析器跟踪的数据。
DOM解析器读取整个文件,并建立了一个在内存中的表示,你可以查询不同的元素。 通常情况下,你甚至可以构建XPath查询退出特别件。
1、NSXMLParser是一个SAX解析器SDK中包含的iPhone默认的。 这是写在Objective - C和使用非常简单,但也许没有那么容易,因为DOM模型。
2、libxml2的是一个开放源码库,包括iPhone SDK的默认情况下使用。 这是一个基于C的API,所以有点更多的工作比使用NSXML。 该库同时支持DOM和SAX处理。 该处理器的libxml2的SAX特别的凉爽,因为它有一个能够解析它的独特功能正在读取数据。 例如,你可以从网络上阅读大量的XML文档并显示数据,您正在阅读它给用户,而你还在下载。
3、TBXML是一个轻量级的DOM XML解析器设计得尽可能快,而资源消耗少的内存。 它节省了验证时间不执行,不支持XPath和由被只读 - 即你可以阅读它的XML,但是你不能再修改XML和写回来。
第一,在时间上TBXML占优,libxml2支持了边下载边解析。
第二,它的解析是同步的,不像NSXMLParser一样需要执行那么多代理。
第三,TBXML对空格和中文处理非常的好,我想许多人在解析XML文件的时候很头疼的两个几个问题就是空格和中文吧。
4、TouchXML是NSXML风格的DOM的XML解析器的iPhone。 TBXML一样,它也是只读的,但它不像TBXML支持XPath。
5、KissXML是另一个NSSXML风格的DOM XML解析器的iPhone,其实TouchXML的基础上。 主要区别是KissXML还支持编辑和编写XML以及阅读。
6、TinyXML的是一个小型的C -基于DOM的XML解析器头只包含4个C文件和两个。 它同时支持读取和编写XML文件,但它不支持自己的XPath。 但是,您可以使用相关的库 - 该TinyXPath - 。
7、GDataXML是另一个NSXML风格的DOM XML解析器的iPhone,谷歌开发作为图书馆的一部分,他们的Objective - C的客户端。 短短的m文件和一个头组成,它同时支持阅读和编写XML文档和XPath查询。