2011-05-26 58 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