>>Hi Dmitry,
>>
>>There're 3 extra bytes (0xEFBBBF) at the beginning of the XML string. They're called a byte order mark (BOM), part of the unicode standard. See
http://www.unicode.org/unicode/faq/utf_bom.html#BOM for details. The bytes 0xEFBBBF denote the BOM in UTF-8. I don't know why XmlAdapter recognizes BOM in the file but not in the string. The workaround is easy.
oXml = CREATEOBJECT("XMLAdapter")
>>*IF lcXml = CHR(0xEF) + CHR(0xBB) + CHR(0xBF)
>>IF lcXml = 0hEFBBBF
>> oXml.LoadXML( SUBSTR(lcXml,4))
>>ELSE
>> oXml.LoadXML( lcXml)
>>ENDIF
>>
>
>Sergey,
>
>Thank you for the explanation and work around. I did see those 3 bytes but didn't know what it was all about. Now I have two work- arounds, either copy to file and get it from the file or using SUBSTR() as you suggested.
>
>Thank you for your help.
You're welcome.
--sb--