Sample code for 30+ languages & platforms
Lua

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

Lua
local chilkat = require("chilkat")

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

local mime = chilkat.Mime.new()

-- Add a few header fields:
local success = mime:add_header_field("Description", "this is a test")
success = mime:add_header_field("MyId", "123")

local 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:set_body_from_xml(xmlData)

print(mime:get_mime())

-- 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:
print(mime:get_mime())

-- It should look like this:

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