Gracias, keys. Iba por buen camino, pero solo estaba añadiendo la T: antes de TicketBAI y no en el "xmlns:T=" de después. Ni lo había visto
Qué curioso que haya que descomprimir el gzip dos veces. Por cierto, para descomprimirlo usando las librerías de Delphi yo uso este código:
Código Delphi
[-]
procedure descomprimir(origen,destino:string);
var LInput, LOutput: TFileStream;
DecompressionStream: TDecompressionStream;
begin
LInput := TFileStream.Create(origen, fmOpenRead);
LOutput := TFileStream.Create(destino, fmCreate);
DecompressionStream := TDecompressionStream.Create(LInput, 15 + 16); LOutput.CopyFrom(DecompressionStream, DecompressionStream.size);
LOutput.Free;
LInput.Free;
end;
Como hay que descomprimir dos veces, lo hago así:
Código Delphi
[-]
descomprimir('respuesta.gz','respuesta2.gz');
descomprimir('respuesta2.gz','respuesta.xml');
Y ya luego borro los archivos temporales sobrantes.
Estoy intentando cargar la respuesta XML en el "IXMLLROEPJ240FacturasEmitidasConSGAltaRespuesta" importado, para trabajar "mejor" con las respuestas, pero no lo consigo:
Código Delphi
[-]
var Alta240Respuesta : IXMLLROEPJ240FacturasEmitidasConSGAltaRespuesta;
i : integer;
begin
Alta240Respuesta := LROE_PJ_240_1_1_FacturasEmitidas_ConSG_AltaRespuesta_V1_0_1.LoadLROEPJ240FacturasEmitidasConSGAltaRe spuesta('respuesta.xml');
for i:=0 to Alta240Respuesta.Registros.Count-1 do
begin
with Alta240Respuesta.Registros.Registro[i] do
begin
memo2.Lines.Append(SituacionRegistro.EstadoRegistro);
memo2.Lines.Append(SituacionRegistro.CodigoErrorRegistro);
memo2.Lines.Append(SituacionRegistro.DescripcionErrorRegistro);
memo2.Lines.Append('');
end;
end;
end;
El XML se carga en Alta240Respuesta, porque Alta240Respuesta.XML devuelve el contenido del XML, pero luego no puedo acceder a los valores. No encuentra nada.
No me preocupa mucho porque puedo simplemente cargar el XML en un XMLDocument y trabajar con eso, pero creo que sería más cómodo aprovechar el XML Data Binding, no?
Un saludo y gracias nuevamente. Ahora ya puedo obtener los errores detallados en las respuestas, así que a partir de ahora todo debería ser más sencillo.