常用的解析器分为2类:
代表类库:1、DOM解析方式:一次性读入整个XML文件到内容,并构建节点树,通过遍历各节点,获取属性和值。(通常情况下,可以借助XPath,直接查询XML节点)
2、SAX解析方式(性能更优):基于事件通知模式,一边读取XML文档,一边处理
1、DOM解析方式
2、SAX解析方式
1)NSXMLParser:iPhone自带的解析器,OC语言编写,可以进行SAX解析,但是DOM解析比较弱
2)libxml2:iphone自带的解析器,C语言编写,应用更广泛,独特特点就是可以一边读取一边解析,缺点使用相对复杂一些
类库的选择:
1、读取很小的XML文档,速度基本没有什么区别,从使用方便的角度上可以选择:KissXML、GdataxML (也支持修改和XPath查询)
2、如果读取比较大的XML文档,建议使用libxml2
3、如果不想用第三方类库,那么可以使用NSXMLParser自带库
我的选择:
原文链接:https://www.f2er.com/xml/298980.html需求:XML文档比较小,所以考虑方便性选择GdataxML解析库
1、下载 :code.google.co(哈哈)m/p/gdata-objectivec-client/source/browse/trunk/Source/XMLSupport/
2、解压缩文件,找到Source\XMLSupport,并且将其中的GdataxMLNode.h 和 GdataxMLNode.m文件拖到项目中
3、选中项目,选中“Build Settings”标签页-》找到“Paths\Header Search Paths”项,并添加“/usr/include/libxml2”到列表中,找到“Linking\Other Linker Flags”项,并添加“-lxml2”到列表中
- #import“GdataxMLNode.h”