2012-03-21 65 views
0

我收到了XML格式的Web服務調用的響應。我想在XML響應中搜索status字符串,並根據其值進一步繼續。我怎樣才能做到這一點?響應低於:在XML中搜索字符串

<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> 

回答

2

您可以使用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. } 
+0

哇...完美的作品...謝謝一噸人... – 2012-03-21 10:56:00

+0

@PradeepReddyKypa歡迎:) – Vignesh 2012-03-21 11:45:22

1

你有你的開發庫訪問的XPath?

如果是這樣,你可以使用(例如);

if (myDoc.xPath('/RequestStatus[Status = "SUCCESS"]').size() > 0) { } 
1

看看NSXMLParser及赤的 「XML解析基礎」 一章中Event-Driven XML Programming Guide

+0

是否有必要明確解析XML響應以查找狀態?我得到的響應在nsstring中,我不能搜索狀態字符串? – 2012-03-21 10:32:32

+0

啊好的..你不需要解析XML ..使用@ Vignesh的解決方案 – Mat 2012-03-21 10:38:25

+1

雅,我已經嘗試使用該解決方案,它工作得很好。無論如何感謝您的建議.. – 2012-03-21 11:00:56