Sample code for 30+ languages & platforms
Unicode C

Transition from MailMan.LoadXmlEmail to Email.SetFromXmlText

Provides instructions for replacing deprecated LoadXmlEmail method calls with Email.SetFromXmlText.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkMailManW.h>
#include <C_CkEmailW.h>
#include <C_CkStringBuilderW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkMailManW mailman;
    const wchar_t *xmlFilePath;
    HCkEmailW emailObj;
    HCkStringBuilderW sb;
    HCkEmailW email;

    success = FALSE;

    mailman = CkMailManW_Create();

    //  ...
    //  ...

    xmlFilePath = L"c:/test/example.xml";

    //  ------------------------------------------------------------------------
    //  The LoadXmlEmail method is deprecated:

    emailObj = CkMailManW_LoadXmlEmail(mailman,xmlFilePath);
    if (CkMailManW_getLastMethodSuccess(mailman) == FALSE) {
        wprintf(L"%s\n",CkMailManW_lastErrorText(mailman));
        CkMailManW_Dispose(mailman);
        return;
    }

    //  ...
    //  ...

    CkEmailW_Dispose(emailObj);

    //  ------------------------------------------------------------------------
    //  Do the equivalent using Email.SetFromXmlText.

    sb = CkStringBuilderW_Create();
    success = CkStringBuilderW_LoadFile(sb,xmlFilePath,L"utf-8");
    if (success == FALSE) {
        wprintf(L"%s\n",CkStringBuilderW_lastErrorText(sb));
        CkMailManW_Dispose(mailman);
        CkStringBuilderW_Dispose(sb);
        return;
    }

    email = CkEmailW_Create();
    success = CkEmailW_SetFromXmlText(email,CkStringBuilderW_getAsString(sb));
    if (success == FALSE) {
        wprintf(L"%s\n",CkEmailW_lastErrorText(email));
        CkMailManW_Dispose(mailman);
        CkStringBuilderW_Dispose(sb);
        CkEmailW_Dispose(email);
        return;
    }



    CkMailManW_Dispose(mailman);
    CkStringBuilderW_Dispose(sb);
    CkEmailW_Dispose(email);

    }