Sample code for 30+ languages & platforms
Objective-C

Create MIME Containing XML

See more MIME Examples

Calls SetBodyFromXml to load XML into the MIME body. Also sets the Content-Type header to "text/xml", and the Content-Transfer-Encoding to an appropriate transfer encoding based on the characters found in the XML.

Chilkat Objective-C Downloads

Objective-C
#import <CkoMime.h>
#import <NSString.h>

BOOL success = NO;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

CkoMime *mime = [[CkoMime alloc] init];

// Add a few header fields:
success = [mime AddHeaderField: @"Description" value: @"this is a test"];
success = [mime AddHeaderField: @"MyId" value: @"123"];

NSString *xmlData = @"<something>123</something>";

// Set the mime body via SetBodyFromXml.  This also
// has the intended side-effect of adding the Content-Type
// and Content-Transfer-Encoding headers.
success = [mime SetBodyFromXml: xmlData];

NSLog(@"%@",[mime GetMime]);

// The MIME should look like this:

// Description: this is a test
// MyId: 123
// Content-Type: text/xml; 
// Content-Transfer-Encoding: 7bit
// 
// <something>123</something>

// Note: The Content-Transfer-Encoding may be changed.
// For example, to use "base64", do this:
mime.Encoding = @"base64";

// Show the MIME again, this time using the base64 
// transfer encoding:
NSLog(@"%@",[mime GetMime]);

// It should look like this:

// Description: this is a test
// MyId: 123
// Content-Type: text/xml; 
// Content-Transfer-Encoding: base64
// 
// PHNvbWV0aGluZz4xMjM8L3NvbWV0aGluZz4=