Hola a todos
Yo uso esta rutina que me genera la linea para el xml, simplemente le llamo con el campo, espero te sirva
PARAMETERS ldesc, lcampo, ltipo
IF EMPTY(lcampo) AND ldesc # "valorRetenido" AND ldesc # "baseImponible"
=MESSAGEBOX("Error campo en blanco "+ldesc,0,cMessagetitle)
gerror = 1
RETURN
ENDIF
DO CASE
CASE ltipo="C"
WAIT WINDOW NOWAIT lcampo
dato = CHRTRAN(lcampo,[áéíóúñÁÍÓÚÑ&><"'º°],[aeiounAIOUN-......])
linea= "<"+ldesc+">"+ALLTRIM(dato)+"</"+ldesc+">" + CR
CASE ltipo="N"
WAIT WINDOW NOWAIT STR(lcampo)
linea= "<"+ldesc+">"+ALLTRIM(STR(lcampo,12,2))+"</"+ldesc+">" + CR
ENDCASE
cXML=cXML+ linea