我已经使用NSURLConnection接收了数据,我得到了以下字符串,这是字符串的XML格式。现在我想取字符串的状态节点。我想在不使用XML解析的情况下获取该字符串。
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSString *urlDataString = [[NSString alloc] initWithData:self.recieveData encoding:NSUTF8StringEncoding];
返回字符串:
<?xml version="1.0" encoding="Utf-8"?><blacksheep><status>Success</status></blacksheep>
输出:
Succeess
PLease帮助我。
感谢。
答案 0 :(得分:3)
NSString* str = @"<?xml version=\"1.0\" encoding=\"Utf-8\"?><blacksheep><status>Success</status></blacksheep>";
NSString* status = [[[[str componentsSeparatedByString: @"<status>"] objectAtIndex: 1] componentsSeparatedByString: @"</status>"] objectAtIndex: 0];
但要小心:这是一个简短但不是很安全的方法。所以你最好添加一些额外的支票。
编辑:更好的方法是
NSString* status = @"Failed";
NSArray* arr = [str componentsSeparatedByString: @"<status>"];
if( [arr count] > 1 ) {
status = [[[arr objectAtIndex: 1] componentsSeparatedByString: @"</status>"] objectAtIndex: 0];
}