数据解析之XML和JSON数据解析

解析XML和解析JSON数据分别是两种方法
    
     XML:
 第一种第一种是系统的方法,使用的是NSXMLParser类
    首先将XML转成DATA的数据类型
    然后创建工具NSXMLParser
    设置代理,使用代理方法返回值
     开始解析 - (void)parserDidStartDocument:(NSXMLParser *)parser
     获取开始标签 - (void)parser:(NSXMLParser *)parser didStartElement:。。。。。
     获取值  -(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
     获取结束标签 - (void)parser:(NSXMLParser *)parser didEndElement:。。。。
     关闭解析 -(void)parserDidEndDocument:(NSXMLParser *)parser
     返回错误信息 - (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
    
 第二种:第三方的类方法,使用谷歌的类方法解析
     使用谷歌的方法需要添加他的类并且引入,需要设置为arc环境,添加libxml2的类库等 这一点需要注意,否则会报错
     1:也是要获取到他的对应的data的xml的数据
     2:使用第三方类创建对象
     3:根据第三方的类获取到属性值的,获取到根标签
     4:根据跟标签获取到所有的子标签返回的是数组这里只需要循环遍历解析到最后一层你需要的就可以了
     5:解析到最后一层根据你的需求使用KVC的方式进行赋值存储到数组返回即可
 
     JSON的数据解析
第一种 使用系统的方法
     1:首先获取到数据根据路径转换为data的数据类型
     2:然后使用 NSJSONSerialization 便利构造器的方式取回的数组
     3:拿到所有的数组就好说了,根据数据的显示信息,然后循环遍历使用对应的数据类型对象接收即可
     4:解析到最后一层的时候 同样是使用的model的数据类型方式存储到容器返回
第二种:使用第三方的方法
     1:使用的是第三方的方法类JSONKit的数据类 首先要添加,然后引入数据类
     2:使用第三方的类创建对象,然后调用方法,根据给予的data的数据类型返回数组 这里同样也是需要先创建data的数据类型。
     3:这里就和上一种方法没什么区别了,同样根据数据里面涵盖的类型开始解析
     4:解析到最后使用数据的model类,进行KVC的赋值存储进容器返回就可以了。
    
    
    
     总结:
     XML的两种方法
     系统的:使用的方法是读取一行返回一行数据,使用代理方法,使用起来较为麻烦,读取效率较低。
     谷歌的第三方:使用引入他的类设置一下,然后这里会直接给你返回一个数据,是读取完整个文件再返回,在执行效率上要比系统的优点多一点。
    
     JSON数解析:
     系统的:使用系统的类方法,根据创建的数据data直接返回你要的数据,剩下的就是开始解析数据了,要什么你解什么方便快捷
     第三方:使用第三方的方法需要引入第三方的类,并且设置一下东西,同样也是一样的一行代码就可以获取到数组。
     相比较建议使用系统的,哪个简洁效率高你就用哪个。

http://user.qzone.qq.com/173542387/blog/1458144037

转载于:https://my.oschina.net/rdqblogs/blog/684931

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值