(Objective-C) Load XML Object from HTTP Response Body
Demonstrates how to load the HTTP response body directly into an XML object.
Note: This example requires Chilkat v11.0.0 or greater.
#import <CkoHttp.h>
#import <CkoHttpResponse.h>
#import <CkoXml.h>
BOOL success = NO;
CkoHttp *http = [[CkoHttp alloc] init];
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpStr: @"GET" url: @"https://www.chilkatsoft.com/exampledata/inventory.xml" bodyStr: @"" charset: @"" contentType: @"" response: resp];
if (success == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
CkoXml *xml = [[CkoXml alloc] init];
// If we wish to transfer (instead of copy) the XML from the HttpResponse to the Xml, then add the keyword "TakeResponseBody" to UncommonOptions
// This could save memory for extremely large XML responses.
resp.UncommonOptions = @"TakeResponseBody";
[resp GetBodyXml: xml];
NSLog(@"%@",[xml GetXml]);
// Note: If UncommonOptions contained "TakeResponseBody", then the response BodyStr will now be empty:
NSLog(@"%@",@"----");
NSLog(@"%@",resp.BodyStr);
|