Hola compañeros de foro
Les comento que estoy tratando de generar un archivo XML con Delphi 7, ya lo logre hasta cierto punto, funciona bien, pero lo que no sé cómo hacer es esto <complemento xsi:nil="true"/> en Delphi para que el código XML quede así. Abajo des muestro mi código.
Espero que me puedan ayudar.
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComObj, xmldom, XMLIntf, msxmldom, XMLDoc;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var
XML : IXMLDOCUMENT;
Registro, Datos: IXMLNODE;
begin
XML := NewXMLDocument;
XML.Encoding := 'UTF-8';
XML.Options := [doNodeAutoIndent];
Registro := XML.AddChild('ClientesXML');
Registro.Attributes['xsi:noNamespaceSchemaLocation']:= 'ClientesXML.xsd';
Registro.Attributes['xmlns:xsi']:= 'w1.com/2019/XMLSchema-instance';
Datos := Registro.AddChild('cliente');
Datos.AddChild('nombre').Text := 'JUAN PERES FICTICIO';
Datos.AddChild('edad').Text := '25';
Datos.AddChild('numeroDocumenta').Text := '123456';
Datos.AddChild('complemento');
Datos := Registro.AddChild('detalles');
Datos.AddChild('direccion').Text := 'Calle Valle Hermoso #123';
Datos.AddChild('estadoCivil'); Datos.AddChild('etcEtc').Text := '21312';
XML.SaveToFile( ExtractFilePath( Application.ExeName ) + 'Cientes.xml' );
end;
end.
Con esto el XML me queda asi
Código:
<?xml version="1.0" encoding="UTF-8"?>
<ClientesXML xmlns:xsi="estoLoBorre" xsi:noNamespaceSchemaLocation="ClientesXML.xsd"><cliente><nombre>JUAN PERES FICTICIO</nombre><edad>25</edad><numeroDocumenta>123456</numeroDocumenta><complemento/></cliente><detalles><direccion>Calle Valle Hermoso #123</direccion><estadoCivil/><etcEtc>21312</etcEtc></detalles></ClientesXML> yo nesesito que sea ai
<?xml version="1.0" encoding="UTF-8"?>
<ClientesXML xmlns:xsi="estoLoBorre" xsi:noNamespaceSchemaLocation="ClientesXML.xsd"><cliente><nombre>JUAN PERES FICTICIO</nombre><edad>25</edad><numeroDocumenta>123456</numeroDocumenta><complemento xsi:nil="true"/></cliente><detalles><direccion>Calle Valle Hermoso #123</direccion><estadoCivil xsi:nil="true"/><etcEtc>21312</etcEtc></detalles></ClientesXML>