Sample code for 30+ languages & platforms
Xbase++

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 Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oMime
LOCAL cXmlData

nSuccess := 0

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

oMime := CreateObject("Chilkat.Mime")

//  Add a few header fields:
nSuccess := oMime:AddHeaderField("Description", "this is a test")
nSuccess := oMime:AddHeaderField("MyId", "123")

cXmlData := "<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.
nSuccess := oMime:SetBodyFromXml(cXmlData)

? oMime: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:
oMime:Encoding := "base64"

//  Show the MIME again, this time using the base64 
//  transfer encoding:
? oMime:GetMime()

//  It should look like this:

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

oMime:destroy()