gdataxml解析报错,而且报错还是离谱,请看这个,,,
2014-03-06 17:32
225 查看
报错像下面这样的:
遇到这个错误又看到这个帖子的朋友们,是不是很开心啊,下面来给出解决办法:
我是在使用百度RSS的时候,通过手机IOS二进制下载数据存入NSData中,然后解析就是报错。
解决代码如下:
1.先获取到网络上面需要的代码,然后想办法进行转码,转换成中文格式(这个不同网站有区别,解码方式不唯一,下面的这个发那个发对很多网站或许都是适用的):
这样就可以获取到网站上面需要的数据了,接下来就是关键,将获取到的字符串进行截取,截取的是xml文件的头,如下所示:
截取掉39个字符,正好截取完毕,将剩下的字符串痛快的进行gdataxml解析吧,真相终于大白于天下,
(我也不知道为什么这样就好了,希望理解原理的人评论回复相告,还有我十分不理解的就是:一般情况下不这样截取字符串也是可以顺利读取的,可是就是不知道为什么有些时候就不行了,上面的办法也是折中,希望有更好的),
遇到这个错误又看到这个帖子的朋友们,是不是很开心啊,下面来给出解决办法:
我是在使用百度RSS的时候,通过手机IOS二进制下载数据存入NSData中,然后解析就是报错。
解决代码如下:
1.先获取到网络上面需要的代码,然后想办法进行转码,转换成中文格式(这个不同网站有区别,解码方式不唯一,下面的这个发那个发对很多网站或许都是适用的):
NSStringEncoding strEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSString *str = [[NSString alloc] initWithData:data encoding:strEncoding];
这样就可以获取到网站上面需要的数据了,接下来就是关键,将获取到的字符串进行截取,截取的是xml文件的头,如下所示:
<?xml version="1.0" encoding="gb2312"?>将获取到的xml文件字符串截取掉上面的部分,如下:
str= [str substringFromIndex:39];
GDataXMLDocument *xmlDoc = [[GDataXMLDocument alloc] initWithXMLString:str options:0 error:nil]; GDataXMLElement *rootElement = [xmlDoc rootElement]; NSArray *array = [rootElement elementsForName:@"channel"];
截取掉39个字符,正好截取完毕,将剩下的字符串痛快的进行gdataxml解析吧,真相终于大白于天下,
(我也不知道为什么这样就好了,希望理解原理的人评论回复相告,还有我十分不理解的就是:一般情况下不这样截取字符串也是可以顺利读取的,可是就是不知道为什么有些时候就不行了,上面的办法也是折中,希望有更好的),
相关文章推荐
- xml解析之GData
- GDataXML解析
- iOS-XML文件解析(原生NSXMLParser和GDataXML两种解析方式)
- IOS学习笔记27—使用GDataXML解析XML文档
- 使用GDataXML解析xml数据出现崩溃问题?
- xml解析 -- GData
- IOS学习笔记27—使用GDataXML解析XML文档
- 如何用GDataXML来读写XML文件(ps:这个作者的其他文章也是非常不错的,他是做游戏的专家)
- IOS网络第二天 - 04-黑酷-GDataXML 解析
- GData&nbsp;解析Xml以及写xml到文…
- IOS开发之路三(XML解析之GDataXML的使用)
- iOS中使用GDataXML解析XML文…
- ios中GDataXML解析XML文档
- 利用Pull解析xml时,总抛出这个异常:Error parsing document的解决方案
- iOS 获取xml文档并解析(使用GDataXML)
- XMLParser解析xml--内容源自网络(在静态库中不能用GDATA来解析,因为静态库不能加动态库)
- 使用GDataXML解析XML文档
- iOS-GData解析XML
- Xcode GData库解析XML
- Cocos2d-x 简陋而且垃圾的XML解析读取