如何解析我的iPhone应用程序中的SOAP响应?

问题描述:

我越来越SOAP响应和解析我收到此响应时:(你可以从结果可以看出这是目前存储的NSString是NSLoged本身包含XML格式的数据)如何解析我的iPhone应用程序中的SOAP响应?

<Menus> 

<Table1> 

<Restaurant_Name>CHICK-FIL-A</Restaurant_Name> 
<Restaurant_id>2748</Restaurant_id> 
<Phone>(404) 371-1466</Phone> 
<billing_city>DECATUR</billing_city> 
<billing_state>GA</billing_state> 
<billing_zip_code>30030</billing_zip_code> 
<billing_addr1>105 EAST TRINITY PLACE</billing_addr1> 

</Table1> 
</Menus> 

守则以上产生的响应:

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict{ 
    if([elementName isEqualToString:@"GetMenusByZipCodeResult"]) 
    {  
     if(!soapResults) 
     { 
      soapResults = [[NSMutableString alloc] init]; 
     } 

     recordResults = TRUE; 

    } 

} 

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 

    if(recordResults) 
    { 
     [soapResults appendString:string]; 
    } 
    //NSLog(@" soap: %@", soapResults); 
} 

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
{ 
    if([elementName isEqualToString:@"GetMenusByZipCodeResult"]) 
    { 

     NSLog(@"soapResult FINAL : %@",soapResults); 

     recordResults = FALSE; 
     result.text = soapResults; 
     [soapResults release]; 
     soapResults = nil; 
    } 

} 

上述提到的数据是soapResult的结果。 如何阅读这些数据?我试图重新解析它,但它没有帮助。 请帮帮我。

+1

?请添加代码,显示您如何解析此响应字符串或数据。 – 2010-09-18 23:16:43

+0

我更新了..请看看你是否可以帮忙。 – Dovakin 2010-09-18 23:47:24

如果你想要一个简单的XML来的NSDictionary转换器(包括文本节点)使用XML解析器喜欢的NSXMLParser

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html

+0

朋友,我得到这个答复,因为我只使用NSXMLparser。(我将我的代码添加到问题中)问题是它自己包含带标记数据的响应,现在该怎么做?我必须在相同的数据上再次使用NSXMLParser ...请告诉我如何解决这个问题。 – Dovakin 2010-09-18 23:25:12