2013-05-08 176 views
2

我正在使用NSData來存儲網頁中的XML。如果它包含<?xml version="1.0"?>,是否可以檢查NSData?可以檢查NSData是否包含NSString

NSURL *url = [NSURL URLWithString:link]; 
    NSData *data = [NSData dataWithContentsOfURL:url]; 
+0

你的意思是整個NSData只是編碼爲空字符串還是什麼? – 2013-05-08 11:33:55

+0

@Artur XML正在被吃掉;我已經解決了這個問題。 – Simon 2013-05-08 11:35:27

+1

那麼,你不能只是將其轉換爲字符串,然後檢查'[str rangeOfString:@「<?xml」]。location!= NSNotFound'? – 2013-05-08 11:37:41

回答

5

一個NSData對象包含原始二進制數據。要評估它的內容,您首先需要將該數據轉換爲特定的數據類型 - 在您的情況下是字符串。您需要知道使用哪種編碼來轉換數據對象。

然後你可以使用

​​

現在,你有你的XML文件中該字符串的內容,可以根據需要對其進行評估。

NSRange range = [myXMLContent rangeOfString:@"whatImLookingFor" options:NSCaseInsensitiveSearch]; 
if (range.location != NSNotFound) { 
//found the string 
+0

感謝兄弟,讚賞 – nonuma 2013-05-08 11:55:10

1
NSString* str = [[[NSString alloc] initWithData:theData 
            encoding:NSUTF8StringEncoding] autorelease]; 


if (str && [str length] > 0){ 
    NSLog(@"Contains string"); 
}else{ 
    NSLog(@"Does't contains string"); 

} 
+0

我認爲'str'應該是你的代碼中的'newStr'?!? – Tobi 2013-05-08 11:44:21