Unicode C
Unicode 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 Unicode C Downloads
#include <C_CkMimeW.h>
void ChilkatSample(void)
{
BOOL success;
HCkMimeW mime;
const wchar_t *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 = CkMimeW_Create();
success = CkMimeW_LoadMimeFile(mime,L"qa_data/message.eml");
if (success == FALSE) {
wprintf(L"%s\n",CkMimeW_lastErrorText(mime));
CkMimeW_Dispose(mime);
return;
}
// Header names become XML element names and structured header parameters become XML attributes.
xml = CkMimeW_getXml(mime);
if (CkMimeW_getLastMethodSuccess(mime) == FALSE) {
wprintf(L"%s\n",CkMimeW_lastErrorText(mime));
CkMimeW_Dispose(mime);
return;
}
wprintf(L"%s\n",xml);
CkMimeW_Dispose(mime);
}