Я получаю ответ от вызова веб-службы в формате XML.Я хочу найти строку status в ответе XML и продолжить работу в зависимости от ее значения.Как я могу это сделать?Ответ ниже:
status
<META NAME="ColdFusionMXEdition" CONTENT="ColdFusion DevNet Edition - Not for Production Use."><?xml version="1.0" encoding="UTF-8"?> <ParticipantService> <Response> <student_id>10082</student_id> </Response> <RequestStatus> <Code>1</Code> <Status>SUCCESS</Status> <Message>Valid Credentials.</Message> </RequestStatus> </ParticipantService>
Вы можете использовать NSXmlParser . Если вы проверяете только статус, вы можете выполнить некоторые действия со строками следующим образом:
NSString *mystring = @"<Response><status>SUCCESS</status> </Response>"; NSString *neededString = nil; NSScanner *scanner =[NSScanner scannerWithString:mystring]; [scanner scanUpToString:@"<status>" intoString:NULL]; [scanner scanString:@"<status>" intoString:NULL]; [scanner scanUpToString:@"</status>" intoString:&neededString]; NSLog(@"%@",neededString); if ([neededString isEqualToString:@"SUCCESS"]){ //do what you like. }
Взгляните на NSXMLParser и ознакомьтесь с главой "Основы синтаксического анализа XML" в Руководство по программированию на основе событий XML
Есть ли у вас доступ к XPath в ваших библиотеках разработки?
Если это так, вы можете использовать (например,);
if (myDoc.xPath('/RequestStatus[Status = "SUCCESS"]').size() > 0) { }