可以检查NSData是否包含NSString
问题描述:
我正在使用NSData来存储网页中的XML。如果它包含<?xml version="1.0"?>
,是否可以检查NSData?可以检查NSData是否包含NSString
NSURL *url = [NSURL URLWithString:link];
NSData *data = [NSData dataWithContentsOfURL:url];
答
一个NSData
对象包含原始二进制数据。要评估它的内容,您首先需要将该数据转换为特定的数据类型 - 在您的情况下是字符串。您需要知道使用哪种编码来转换数据对象。
然后你可以使用
现在,你有你的XML文件中该字符串的内容,可以根据需要对其进行评估。
NSRange range = [myXMLContent rangeOfString:@"whatImLookingFor" options:NSCaseInsensitiveSearch];
if (range.location != NSNotFound) {
//found the string
+0
感谢兄弟,赞赏 – nonuma 2013-05-08 11:55:10
答
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
你的意思是整个NSData只是编码为空字符串还是什么? – 2013-05-08 11:33:55
@Artur XML正在被吃掉;我已经解决了这个问题。 – Simon 2013-05-08 11:35:27
那么,你不能只是将其转换为字符串,然后检查'[str rangeOfString:@“ 2013-05-08 11:37:41