Sample code for 30+ languages & platforms
Delphi DLL

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 Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, StringBuilder, Xml;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
xml: HCkXml;
sb: HCkStringBuilder;

begin
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');
Memo1.Lines.Add(CkXml__getXml(xml));
success := CkXml_SaveXml(xml,'qa_output/sample_utf8.xml');

CkXml_Dispose(xml);
CkStringBuilder_Dispose(sb);

end;