繁体   English   中英

iOS:如何从肥皂反应中获取数据?

[英]iOS : How to get data from soap response?

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><IOSAPIProjectResponse xmlns="http://tempuri.org/">
    <IOSAPIProjectResult>{"result":[{"projectcatname":"Test1","projectname":"Sample1","imgname":"http://someurl.com/UploadImages/projects/5.jpg"},{"projectcatname":"Test2","projectname":"Sample2","imgname":"http://someurl.com/UploadImages/projects/6.jpg"}],"status":"SUCCESS"}
    </IOSAPIProjectResult></IOSAPIProjectResponse></soap:Body></soap:Envelope>

我从.asmx API得到以下响应,如何从响应中得到结果?

这是一个XML结果,请使用NSXMLParser,您应使用的主要方法是:

NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
[parser setDelegate:self];
[parser parse];

要检查当前元素:

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict;

要从此元素获取字符串:

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

看起来您正在将响应编码为JSON。 iOS具有内置的JSON解码功能。 我建议阅读NSJSONSerialization类参考

简而言之,您可以使用以下方法从JSON编码数据中获取NSDictionary对象:

NSError* error;
NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:responseData 
options:kNilOptions 
error:&error];

然后用NSDicitionary对象来获取您正在寻找的结果objectForKey

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM