Te paso el código de la unidad TimbreFiscalDigital:
Código Delphi
[-]
unit TimbreFiscalDigital;
interface
uses xmldom, XMLDoc, XMLIntf;
type
IXMLTimbreFiscalDigital = interface;
IXMLTimbreFiscalDigital = interface(IXMLNode)
['{366D5D21-F94B-4BCB-9724-A79988C03709}']
function Get_Version: UnicodeString;
function Get_UUID: UnicodeString;
function Get_FechaTimbrado: UnicodeString;
function Get_SelloCFD: UnicodeString;
function Get_NoCertificadoSAT: UnicodeString;
function Get_SelloSAT: UnicodeString;
procedure Set_Version(Value: UnicodeString);
procedure Set_UUID(Value: UnicodeString);
procedure Set_FechaTimbrado(Value: UnicodeString);
procedure Set_SelloCFD(Value: UnicodeString);
procedure Set_NoCertificadoSAT(Value: UnicodeString);
procedure Set_SelloSAT(Value: UnicodeString);
property Version: UnicodeString read Get_Version write Set_Version;
property UUID: UnicodeString read Get_UUID write Set_UUID;
property FechaTimbrado: UnicodeString read Get_FechaTimbrado write Set_FechaTimbrado;
property SelloCFD: UnicodeString read Get_SelloCFD write Set_SelloCFD;
property NoCertificadoSAT: UnicodeString read Get_NoCertificadoSAT write Set_NoCertificadoSAT;
property SelloSAT: UnicodeString read Get_SelloSAT write Set_SelloSAT;
end;
TXMLTimbreFiscalDigital = class;
TXMLTimbreFiscalDigital = class(TXMLNode, IXMLTimbreFiscalDigital)
protected
function Get_Version: UnicodeString;
function Get_UUID: UnicodeString;
function Get_FechaTimbrado: UnicodeString;
function Get_SelloCFD: UnicodeString;
function Get_NoCertificadoSAT: UnicodeString;
function Get_SelloSAT: UnicodeString;
procedure Set_Version(Value: UnicodeString);
procedure Set_UUID(Value: UnicodeString);
procedure Set_FechaTimbrado(Value: UnicodeString);
procedure Set_SelloCFD(Value: UnicodeString);
procedure Set_NoCertificadoSAT(Value: UnicodeString);
procedure Set_SelloSAT(Value: UnicodeString);
end;
function GetTimbreFiscalDigital(Doc: IXMLDocument): IXMLTimbreFiscalDigital;
function LoadTimbreFiscalDigital(const FileName: string): IXMLTimbreFiscalDigital;
function NewTimbreFiscalDigital: IXMLTimbreFiscalDigital;
const
TargetNamespace = 'http://www.sat.gob.mx/TimbreFiscalDigital';
implementation
function GetTimbreFiscalDigital(Doc: IXMLDocument): IXMLTimbreFiscalDigital;
begin
Result := Doc.GetDocBinding('TimbreFiscalDigital', TXMLTimbreFiscalDigital, TargetNamespace) as IXMLTimbreFiscalDigital;
end;
function LoadTimbreFiscalDigital(const FileName: string): IXMLTimbreFiscalDigital;
begin
Result := LoadXMLDocument(FileName).GetDocBinding('TimbreFiscalDigital', TXMLTimbreFiscalDigital, TargetNamespace) as IXMLTimbreFiscalDigital;
end;
function NewTimbreFiscalDigital: IXMLTimbreFiscalDigital;
begin
Result := NewXMLDocument.GetDocBinding('TimbreFiscalDigital', TXMLTimbreFiscalDigital, TargetNamespace) as IXMLTimbreFiscalDigital;
end;
function TXMLTimbreFiscalDigital.Get_Version: UnicodeString;
begin
Result := AttributeNodes['version'].Text;
end;
procedure TXMLTimbreFiscalDigital.Set_Version(Value: UnicodeString);
begin
SetAttribute('version', Value);
end;
function TXMLTimbreFiscalDigital.Get_UUID: UnicodeString;
begin
Result := AttributeNodes['UUID'].Text;
end;
procedure TXMLTimbreFiscalDigital.Set_UUID(Value: UnicodeString);
begin
SetAttribute('UUID', Value);
end;
function TXMLTimbreFiscalDigital.Get_FechaTimbrado: UnicodeString;
begin
Result := AttributeNodes['FechaTimbrado'].Text;
end;
procedure TXMLTimbreFiscalDigital.Set_FechaTimbrado(Value: UnicodeString);
begin
SetAttribute('FechaTimbrado', Value);
end;
function TXMLTimbreFiscalDigital.Get_SelloCFD: UnicodeString;
begin
Result := AttributeNodes['selloCFD'].Text;
end;
procedure TXMLTimbreFiscalDigital.Set_SelloCFD(Value: UnicodeString);
begin
SetAttribute('selloCFD', Value);
end;
function TXMLTimbreFiscalDigital.Get_NoCertificadoSAT: UnicodeString;
begin
Result := AttributeNodes['noCertificadoSAT'].Text;
end;
procedure TXMLTimbreFiscalDigital.Set_NoCertificadoSAT(Value: UnicodeString);
begin
SetAttribute('noCertificadoSAT', Value);
end;
function TXMLTimbreFiscalDigital.Get_SelloSAT: UnicodeString;
begin
Result := AttributeNodes['selloSAT'].Text;
end;
procedure TXMLTimbreFiscalDigital.Set_SelloSAT(Value: UnicodeString);
begin
SetAttribute('selloSAT', Value);
end;
end.