Ver Mensaje Individual
  #1  
Antiguo 27-05-2025
rafa1963 rafa1963 is offline
Miembro
 
Registrado: dic 2024
Posts: 100
Reputación: 2
rafa1963 Va por buen camino
Ayuda con nodos padres e hijos en XML

Buenas tardes, estoy montando los XML para en envío de facturas pero me encuentro con el detalle de que no se me organizan bien los elementos.

Esto es parte del código que tengo

Cita:
XML := NewXMLDocument;
XML.Encoding := 'UTF-8';
XML.Options := [doNodeAutoIndent];
Registro := XML.AddChild ('FacturasXML');
Registro.Attributes['xsi:noNamespaceSchemaLocation']:= 'FacturaXML.xsd';
//Registro.Attributes['xsi:noNamespaceSchemaLocation']:= 'Facturas.XML';
Registro.Attributes['xmlns:xsi']:= 'w1.com/2019/XMLSchema-instance';
//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::


Datos := Registro.AddChild('RegistroAlta');
Datos := Registro.AddChild('RegistroFacturacionType');
Datos.AddChild('IDVersion').Text := '1.0'; //TablaEmpresaNombreTaller.Value;

Datos := Registro.AddChild('IDFactura');
Datos.AddChild('IDEmisorFactura').Text := TablaEmpresaCIF.Value;
Datos.AddChild('NumSerieFactura').Text := 'A' + TablaFacturacionNumero.Value;
Datos.AddChild('FechaExpedicionFactura').Text := (FechaFactura);

// Datos := Registro.AddChild('</IDFactura>');

Datos.AddChild('NombreRazonEmisor').Text := TablaEmpresaNombreTaller.Value;
Datos.AddChild('TipoFactura').Text := 'F1';
{ Subsanacion y rechazoPrevio }
Datos.AddChild('Subsanacion').Text := 'N';
Datos.AddChild('RechazoPrevio').Text := 'X';
Datos.AddChild('DescripcionOperacion').Text := 'SERVICIOS';

Datos := Registro.AddChild('Destinatarios');

Datos := Registro.AddChild('Item');
Datos.AddChild('NombreRazon').Text := TablaFacturacionCliente.Value;
Datos.AddChild('NIF').Text := TablaFacturacionCIF.Value;


Datos := Registro.AddChild('Desgloce');
Datos := Registro.AddChild('Item');

Datos.AddChild('ClaveRegimen').Text := '01'; //TablaFacturacionCliente.Value;
Datos.AddChild('CalificacionOperacion').Text := 'S1';
Datos.AddChild('BaseImponibleOimporteNoSujeto').Text := FloatToStr(DBase1); //TablafacturacionBase1.Value;
Datos.AddChild('CuotaRepercutida').Text := FloatToStr(dVacioNumero2);


Datos := Registro.AddChild('Item');
Datos.AddChild('ClaveRegimen').Text := '01';
Datos.AddChild('CalificacionOperacion').Text := 'S1';
Datos.AddChild('TipoImpositivo').Text := '0.00';
Datos.AddChild('BaseImponibleOimporteNoSujeto').Text := '0.00';
Datos.AddChild('CuotaRepercutida').Text := '0.00';
Pero al crear el XML no me aparecen en su lugar los cierre de nodo
ejemplo

</IDFactura>
</RegistroFactura>
Etc...

Me podeis echar una mano a montar correctamente el archivo ????

Gracias.
Responder Con Cita