Sample code for 30+ languages & platforms
Delphi DLL

Convert MIME to XML

See more MIME Examples

Demonstrates the Chilkat Mime.GetXml method, which converts the MIME tree to Chilkat's XML representation and returns it as a string. It takes no arguments. Header names become element names, structured header parameters become attributes, and duplicate headers become repeated elements.

Tip: Code to parse the returned XML can be generated at Chilkat Tools.

Background: Turning a MIME tree into XML exposes its structure in a form that ordinary XML tools can query and transform — useful for inspection, debugging, or feeding a message into an XML-based pipeline. It is the inverse of LoadXml, so a message can be round-tripped through XML. For a quick human-readable outline rather than a full representation, see GetStructure.

Chilkat Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
mime: HCkMime;
xml: PWideChar;

begin
success := False;

//  Demonstrates the Mime.GetXml method, which converts the MIME tree to Chilkat's XML
//  representation and returns it as a string.  It takes no arguments.

mime := CkMime_Create();

success := CkMime_LoadMimeFile(mime,'qa_data/message.eml');
if (success = False) then
  begin
    Memo1.Lines.Add(CkMime__lastErrorText(mime));
    Exit;
  end;

//  Header names become XML element names and structured header parameters become XML attributes.
xml := CkMime__getXml(mime);
if (CkMime_getLastMethodSuccess(mime) = False) then
  begin
    Memo1.Lines.Add(CkMime__lastErrorText(mime));
    Exit;
  end;
Memo1.Lines.Add(xml);

CkMime_Dispose(mime);