检查NSData是否包含NSString的可能性

时间:2013-05-08 11:29:44

标签: iphone ios objective-c

我正在使用NSData从网页存储XML。是否可以检查NSData是否包含<?xml version="1.0"?>

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

2 个答案:

答案 0 :(得分:5)

NSData对象包含原始二进制数据。要评估它的内容,首先需要将该数据转换为特定的数据类型 - 在您的情况下是一个字符串。您需要知道使用哪种编码来转换数据对象。

然后你可以使用

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

现在您已在该字符串中包含XML文件的内容,您可以根据需要对其进行评估。

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

答案 1 :(得分:1)

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


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

 }