问题描述
|
我目前正在使用NSURLConnection通过服务器上的PHP脚本从数据库下载一些日期。
连接工作正常,并且数据正确接收。但是,当我解析数据时遇到问题。
我目前正在尝试使用NSXMLParser解析数据,但是由于错误代码4而失败,我认为这是因为我检索的内容不完全是XML。如果它完全是XML,则可以使用。
这是检索到的数据的示例:
43534545-45345345-34534554|iPhone emulator|<provdoc>
<characteristic type=\"P1\">
...
</characteristic>
</provdoc>
我想做的就是将数据拆分为:
43534545-45345345-34534554
和:
iPhone emulator
和
<provdoc>
<characteristic type=\"Profile1\">
...
</characteristic>
</provdoc>
因此,我想我应该在接收数据的以下函数中执行此操作,我需要知道如何将数据分为上述三个部分?
因此,我最后得到两个字符串,第一个字符串包含数字,第二个字符串包含iPhone仿真器位,然后是可以通过NSXMLParser发送的数据。
有人能指出我正确的方向吗,我需要达到的目标?
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[self.responseData appendData:data];
}
解决方法
将最终的NSData转换为NSString:
NSString *someString = [[NSString alloc] initWithData:hashedData encoding:NSUTF8Encoding];
然后,您需要开始拆分该字符串。这是获取第一部分的示例:
NSRange end = [someString rangeOfString:@\"<\"];
NSString *str = [someString substringWithRange:NSMakeRange(0,end.location)];
然后拆分第一个:
NSArray *initialItems = [str componentsSeparatedByString:@\"|\"];
您应该能够使用上述技术找出其余的内容。