C
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 C Downloads
#include <C_CkXml.h>
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
BOOL success;
HCkXml xml;
HCkStringBuilder 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 = CkXml_Create();
success = CkXml_LoadXmlFile(xml,"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 = CkStringBuilder_Create();
success = CkStringBuilder_LoadFile(sb,"qa_data/xml/sample_ucs2.xml","utf-16");
// Assuming success...
success = CkXml_LoadSb(xml,sb,TRUE);
// To convert to the XML from utf-16 to utf-8, do the following:
CkXml_putEncoding(xml,"utf-8");
printf("%s\n",CkXml_getXml(xml));
success = CkXml_SaveXml(xml,"qa_output/sample_utf8.xml");
CkXml_Dispose(xml);
CkStringBuilder_Dispose(sb);
}