Hola mtxtania,
Pues vaya con los de la AEAT! Bueno, de momento, puedes gestionarlo como lo estoy haciendo yo, que es trabajar sobre el XML de respuesta. Para ello, lo que yo he hecho es crear una variable de tipo TXMLDocument e ir recorriendo los nodos. Te pongo una muestra de ejemplo:
Código Delphi
[-]
procedure TfrmMantenimientoTabla.ProcesarXML;
var
XMLDocument: TXMLDocument;
XMLDocumentBody, XMLDocumentRechazado, XMLDocumentAceptado: IXMLNode;
i: integer;
begin
XMLDocument:=TXMLDocument.Create(Self);
XMLDocument.Active:=False;
try
XMLDocument.LoadFromXML(mXML.Text); XMLDocument.Active:=True;
for i:=0 to XMLDocument.DocumentElement.ChildNodes.Count-1 do
begin
if UpperCase(trim(XMLDocument.DocumentElement.ChildNodes[i].LocalName))='BODY' then
begin
XMLDocumentBody:=XMLDocument.DocumentElement.ChildNodes[i];
for j:=0 to XMLDocumentBody.ChildNodes.Count-1 do
begin
if UpperCase(trim(XMLDocumentBody.ChildNodes[j].LocalName))='IE204' then
begin
XMLDocumentRechazado:=XMLDocumentBody.ChildNodes[j];
end
else
begin
if UpperCase(trim(XMLDocumentBody.ChildNodes[j].LocalName))='IE201' then
begin
XMLDocumentAceptado:=XMLDocumentBody.ChildNodes[j];
end;
end;
end;
end;
end;
except
end;
end;
Y respecto a la hora correcto, es como lo estoy haciendo yo también:
Código Delphi
[-]
XML.Cabecera.HoraPreparacion.XSToNative(FormatDateTime('hh:mm:ss',now));
Saludos!