Sample code for 30+ languages & platforms
Unicode C

Auto-Trim XML Content when Loading

See more XML Examples

This example explains the "autoTrim" argument that is passed to a method such as LoadXml2.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkXmlW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkXmlW xml;
    BOOL autoTrim;

    success = FALSE;

    xml = CkXmlW_Create();

    //  If autoTrim is TRUE, then the content inside an leaf element is trimmed.
    //  For example:
    autoTrim = TRUE;
    CkXmlW_LoadXml2(xml,L"<abc><xyz>  123   </xyz></abc>",autoTrim);
    wprintf(L"%s\n",CkXmlW_getXml(xml));

    //  Output is:
    //  (notice the SPACE chars before and after "xyz" are trimmed)

    //  <?xml version="1.0" encoding="utf-8" ?>
    //  <abc>
    //      <xyz>123</xyz>
    //  </abc>

    //  If autoTrim is FALSE, then the content inside leaf elements are not trimmed.
    autoTrim = FALSE;
    CkXmlW_LoadXml2(xml,L"<abc><xyz>  123   </xyz></abc>",autoTrim);
    wprintf(L"%s\n",CkXmlW_getXml(xml));

    //  Output is:

    //  <?xml version="1.0" encoding="utf-8" ?>
    //  <abc>
    //      <xyz>  123   </xyz>
    //  </abc>

    //  --------------------------------------------------------------------
    //  The EmitCompact property controls whether XML is emitted indented (pretty-printed)
    //  or compact.  For example:

    //  Auto-trim + emit compact:
    autoTrim = TRUE;
    CkXmlW_LoadXml2(xml,L"<abc><xyz>  123   </xyz></abc>",autoTrim);
    CkXmlW_putEmitCompact(xml,TRUE);
    wprintf(L"%s\n",CkXmlW_getXml(xml));

    //  Output is:

    //  <?xml version="1.0" encoding="utf-8" ?>
    //  <abc><xyz>123</xyz></abc>

    //  No Auto-trim + emit compact:
    autoTrim = FALSE;
    CkXmlW_LoadXml2(xml,L"<abc><xyz>  123   </xyz></abc>",autoTrim);
    CkXmlW_putEmitCompact(xml,TRUE);
    wprintf(L"%s\n",CkXmlW_getXml(xml));

    //  Output is:

    //  <?xml version="1.0" encoding="utf-8" ?>
    //  <abc><xyz>  123   </xyz></abc>


    CkXmlW_Dispose(xml);

    }