Sample code for 30+ languages & platforms
C

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

C
#include <C_CkMime.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkMime mime;
    const char *xml;

    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) {
        printf("%s\n",CkMime_lastErrorText(mime));
        CkMime_Dispose(mime);
        return;
    }

    //  Header names become XML element names and structured header parameters become XML attributes.
    xml = CkMime_getXml(mime);
    if (CkMime_getLastMethodSuccess(mime) == FALSE) {
        printf("%s\n",CkMime_lastErrorText(mime));
        CkMime_Dispose(mime);
        return;
    }

    printf("%s\n",xml);


    CkMime_Dispose(mime);

    }