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
long 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