Olá Pessoal,
Eu sei que uma expressão XML nada mais é que uma constante do tipo String.
No entando talvez vocês que já estão mais experientes em manipular esse tipo de dado tenha alguma sugestão a respeito do que ocorre comigo.
Estou produzindo um XML Web Service que envia dados de algumas tabelas remotas para um determinado client. Algo bastante simples:
SELECT * from &tcTabela ;
where data_alter >= data and hora_alter >= hora ;
into cursor curresultado
CursorToXML("curresultado","lcxml",1,4)
CLOSE tables all
RETURN StrTran(lcxml,[ encoding="Windows-1252"],"")
Como os dados são retornados em formato Texto, algumas coisas estão se perdendo na conversão da tabela para o XML, por exemplo campos que na tabela seriam do tipo caracter preenchidos com dígitos numéricos e zeros à esquerda, tipo 00012345, perde-se os zeros à esquerda. Outro acontecimento que notei é quando se têm dados do tipo inscrição Estadual que alguns são formatados em 999.999.999.999, ou seja, como se fosse numérico quando há a conversão de volta do XML para cursor o perde-se as informações após o oitavo dígito da esquerda para a direita.
Talvez haja algo que eu possa fazer e desconheça até o momento.
Se alguém tiver alguma dica, ficarei muito grato e me economizará algumas horas para escrever alguma rotina de formatação manual desses dados para transferir e recebê-los.