Exportando dados para um arquivo XML

 

Confira nas linhas de código abaixo como exportar dados com o Delphi para um arquivo XML.

 

procedure WriteString(Stream: TFileStream; s: string);

begin

  StrPCopy(SourceBuffer, s);

  Stream.Write(SourceBuffer[0], StrLen(SourceBuffer));

end;

 

procedure WriteFileBegin(Stream: TFileStream; Dataset: TDataSet);

 

function XMLFieldType(fld: TField): string;

begin

   case fld.DataType of

    ftString: Result := '"string" WIDTH="' + IntToStr(fld.Size) + '"';

    ftSmallint: Result := '"i4"'; //??

    ftInteger: Result := '"i4"';

    ftWord: Result := '"i4"'; //??

    ftBoolean: Result := '"boolean"';

    ftAutoInc: Result := '"i4" SUBTYPE="Autoinc"';

    ftFloat: Result := '"r8"';

    ftCurrency: Result := '"r8" SUBTYPE="Money"';

    ftBCD: Result := '"r8"'; //??

    ftDate: Result := '"date"';

    ftTime: Result := '"time"'; //??

    ftDateTime: Result := '"datetime"';

   else

  end;

    if fld.Required then

      Result := Result + ' required="true"';

    if fld.ReadOnly then

     Result := Result + ' readonly="true"';

    end;

   var

   i: Integer;

    begin

     WriteString(Stream, ' ' +

     '');

     WriteString(Stream, '');

 

   {write th metadata}

   with Dataset do

    for i := 0 to FieldCount - 1 do

    begin

     WriteString(Stream, '     Fields[i].FieldName +

     '" fieldtype=' +

     XMLFieldType(Fields[i]) +

     '/>');

    end;

     WriteString(Stream, '');

     WriteString(Stream, '