我目前正在使用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];
}
答案 0 :(得分:2)
将最终的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:@"|"];
你应该能够用上述技巧弄清楚其余部分。