Sample code for 30+ languages & platforms
PureBasic

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 PureBasic Downloads

PureBasic
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkXml.pb"

Procedure ChilkatExample()

    success.i = 0

    ; 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.i = CkXml::ckCreate()
    If xml.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkXml::ckLoadXmlFile(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.i = CkStringBuilder::ckCreate()
    If sb.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkStringBuilder::ckLoadFile(sb,"qa_data/xml/sample_ucs2.xml","utf-16")
    ; Assuming success...
    success = CkXml::ckLoadSb(xml,sb,1)

    ; To convert to the XML from utf-16 to utf-8, do the following:
    CkXml::setCkEncoding(xml, "utf-8")
    Debug CkXml::ckGetXml(xml)
    success = CkXml::ckSaveXml(xml,"qa_output/sample_utf8.xml")


    CkXml::ckDispose(xml)
    CkStringBuilder::ckDispose(sb)


    ProcedureReturn
EndProcedure