2013-05-08 3 views
2

웹 페이지에서 XML을 저장하기 위해 NSData를 사용하고 있습니다. NSData에 <?xml version="1.0"?>이 포함되어 있는지 확인할 수 있습니까?NSData에 NSString이 있는지 확인하는 가능성

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

NSData 전체가 단지 빈 문자열로 인코딩되었거나 무엇을 의미합니까? –

+0

@Artur XML이 먹혀 들었습니다. 나는 그 문제를 해결했다. – Simon

+1

글쎄, 그냥 문자열로 변환 한 다음'[str rangeOfString : @ "

답변

5

NSData 객체는 원시 이진 데이터를 포함한다. 내용을 평가하려면 먼저 해당 데이터를 특정 데이터 유형 (귀하의 경우 문자열)으로 변환해야합니다. 데이터 객체를 변환하는 데 사용 된 인코딩을 알아야합니다.

그럼 당신은 이제 해당 문자열에서 XML 파일의 내용을 가지고

NSString *myXMLContent = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

을 사용할 수 있습니다 필요에 따라 당신은 그것을 평가할 수 있습니다.

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

고마워, 고마워. – nonuma

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

관련 문제