加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML解析器简要介绍和选择

发布时间:2020-12-15 22:58:21 所属栏目:百科 来源:网络整理
导读:常用的解析器分为2类: 1、DOM解析方式:一次性读入整个XML文件到内容,并构建节点树,通过遍历各节点,获取属性和值。( 通常情况下,可以借助 XPath ,直接查询 XML 节点 ) 2、SAX解析方式( 性能更优 ):基于事件通知模式,一边读取XML文档,一边处理

常用的解析器分为2类:

1、DOM解析方式:一次性读入整个XML文件到内容,并构建节点树,通过遍历各节点,获取属性和值。(通常情况下,可以借助XPath,直接查询XML节点

2、SAX解析方式(性能更优):基于事件通知模式,一边读取XML文档,一边处理


代表类库:

1、DOM解析方式

1)TBXML:为了提高XML解析速度而开发的库,特点是速度快,缺点是不支持XPath查询不支持修改

2)KissXML :支持读写和XPath查询

3)GDataXML : google开发的客户端的一部分,支持读写和XPath查询

2、SAX解析方式


1)NSXMLParser:iPhone自带的解析器,OC语言编写,可以进行SAX解析,但是DOM解析比较弱

2)libxml2:iphone自带的解析器,C语言编写,应用更广泛,独特特点就是可以一边读取一边解析,缺点使用相对复杂一些


类库的选择:

1、读取很小的XML文档,速度基本没有什么区别,从使用方便的角度上可以选择:KissXML、GDataXML (也支持修改和XPath查询)

2、如果读取比较大的XML文档,建议使用libxml2

3、如果不想用第三方类库,那么可以使用NSXMLParser自带库


我的选择:

需求:XML文档比较小,所以考虑方便性选择GDataXML解析库

1、下载 :code.google.co(哈哈)m/p/gdata-objectivec-client/source/browse/trunk/Source/XMLSupport/

2、解压缩文件,找到SourceXMLSupport,并且将其中的GDataXMLNode.h 和 GDataXMLNode.m文件拖到项目中

3、选中项目,选中“Build Settings”标签页-》找到“PathsHeader Search Paths”项,并添加“/usr/include/libxml2”到列表中,找到“LinkingOther Linker Flags”项,并添加“-lxml2”到列表中

4、在需要调用GDataXML的代码文件头部,加入:

  
  
  1. #import“GDataXMLNode.h”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读