2011-05-26 54 views
2

我目前使用NSURLConnection通过服务器上的php脚本从数据库下载某个日期。iphone - 下载时跳过一段数据?

连接正常工作,数据正确接收。然而,当我解析数据时,我遇到了一个问题。

我目前正在尝试使用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]; 

} 

回答

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:@"|"]; 

你应该能够找出其他与上述技术。

+0

非常好,从数据转换为字符串,分割字符串,然后转换回数据解析是我不明白的部分,非常感谢,它的工作现在 – 2011-05-27 10:42:49