Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoMime
    String sXmlData
    String sTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatMime)) To hoMime
    If (Not(IsComObjectCreated(hoMime))) Begin
        Send CreateComObject of hoMime
    End

    // Add a few header fields:
    Get ComAddHeaderField Of hoMime "Description" "this is a test" To iSuccess
    Get ComAddHeaderField Of hoMime "MyId" "123" To iSuccess

    Move "<something>123</something>" To sXmlData

    // Set the mime body via SetBodyFromXml.  This also
    // has the intended side-effect of adding the Content-Type
    // and Content-Transfer-Encoding headers.
    Get ComSetBodyFromXml Of hoMime sXmlData To iSuccess

    Get ComGetMime Of hoMime To sTemp1
    Showln sTemp1

    // 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:
    Set ComEncoding Of hoMime To "base64"

    // Show the MIME again, this time using the base64 
    // transfer encoding:
    Get ComGetMime Of hoMime To sTemp1
    Showln sTemp1

    // It should look like this:

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


End_Procedure