Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Mime
string ls_XmlData

li_Success = 0

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

loo_Mime = create oleobject
li_rc = loo_Mime.ConnectToNewObject("Chilkat.Mime")
if li_rc < 0 then
    destroy loo_Mime
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Add a few header fields:
li_Success = loo_Mime.AddHeaderField("Description","this is a test")
li_Success = loo_Mime.AddHeaderField("MyId","123")

ls_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.
li_Success = loo_Mime.SetBodyFromXml(ls_XmlData)

Write-Debug loo_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:
loo_Mime.Encoding = "base64"

// Show the MIME again, this time using the base64 
// transfer encoding:
Write-Debug loo_Mime.GetMime()

// It should look like this:

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


destroy loo_Mime