Получить подстроку из строки xml target-c - PullRequest
1 голос
/ 29 августа 2011

Я знаю, что этот вопрос задавался много раз.У меня есть строка ответа, которая содержит xml.

<?xml version="1.0" encoding="utf-8"?>
<response>116363111</response>

Для каждого запроса я получаю новую короткую строку xml, и мне нужно получить значение в узле «response».Как я могу это сделать, не создав парсер xml?Я не хочу создавать парсер XML для этого короткого XML.

1 Ответ

3 голосов
/ 29 августа 2011

Вы можете использовать NSScanner и сканировать от <response> до </response>.

NSString *xmlString = @"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<response>116363111</response>";

NSString *startTag = @"<response>";
NSString *endTag = @"</response>";
NSString *responseString;

NSScanner *scanner = [[NSScanner alloc] initWithString:xmlString];
[scanner scanUpToString:startTag intoString:nil];
scanner.scanLocation += [startTag length];
[scanner scanUpToString:endTag intoString:&responseString];
[scanner release];

NSLog(@"Response string is %@", responseString);
...