Sample code for 30+ languages & platforms
Unicode C

Load ucs2 XML File (utf-16)

See more XML Examples

Demonstrates how to load a ucs2 (utf-16 little-endian) XML file into Chilkat XML.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkXmlW.h>
#include <C_CkStringBuilderW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkXmlW xml;
    HCkStringBuilderW sb;

    success = FALSE;

    // If the XML file specifies the encoding in the XML declaration, such as:
    // <?xml version = "1.0" encoding = "UTF-16" standalone = "no" ?>
    // Then it's simply a matter of calling LoadXmlFile.
    // Chilkat will automatically read the XML declaration and will
    // process the file correctly.   For example:

    xml = CkXmlW_Create();
    success = CkXmlW_LoadXmlFile(xml,L"qa_data/xml/sample_ucs2.xml");

    // If, however, there is no XML declaration to indicate the character encoding,
    // then you must explicitly read the file according to what you know
    // is the correct encoding.  For example:
    sb = CkStringBuilderW_Create();
    success = CkStringBuilderW_LoadFile(sb,L"qa_data/xml/sample_ucs2.xml",L"utf-16");
    // Assuming success...
    success = CkXmlW_LoadSb(xml,sb,TRUE);

    // To convert to the XML from utf-16 to utf-8, do the following:
    CkXmlW_putEncoding(xml,L"utf-8");
    wprintf(L"%s\n",CkXmlW_getXml(xml));
    success = CkXmlW_SaveXml(xml,L"qa_output/sample_utf8.xml");


    CkXmlW_Dispose(xml);
    CkStringBuilderW_Dispose(sb);

    }