AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi BlobFeld in eine XML Speichern
Thema durchsuchen
Ansicht
Themen-Optionen

BlobFeld in eine XML Speichern

Ein Thema von hhluemmel · begonnen am 16. Mai 2008 · letzter Beitrag vom 20. Mai 2008
Antwort Antwort
hhluemmel

Registriert seit: 14. Mär 2005
Ort: Hamburg
49 Beiträge
 
#1

BlobFeld in eine XML Speichern

  Alt 16. Mai 2008, 07:36
Ich erstelle ein XML-Dokument wie folgt:

<DELPHI>
procedure TForm1.Button1Click(Sender: TObject);
var
XML : TXMLDocument;
Table : IXMLNode;
Field : IXMLNode;
i : Integer;
begin
XML := TXMLDocument.Create(Application);
try
XML.Active:=True;
XML.AddChild('TextXMLDokument');
XML.StandAlone := 'yes';
XML.Version := '1.0';

Table1.Active := True;
Table := XML.DocumentElement.AddChild(Table1.TableName);
For i := 0 to Table1.FieldCount-1 do
begin
Field := Table.AddChild(Table1.Fields[i].FieldName);
Field.Text := Table1.Fields[i].Value;
end;

finally
Memo1.Lines.Assign(XML.XML);
XML.Destroy;
Table1.Active := False;
end;
end;
</DELPHI>

Mein Problem ist, das ich Tabellen habe, die ein Blobfeld haben was entweder ein BMP oder aber eine Dokument (Word, PDF etc)
enthalten. Wie kann ich diese mit in das XML-Dokument speichern?

Besten Dank
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: BlobFeld in eine XML Speichern

  Alt 16. Mai 2008, 07:42
z.B. Base64-Codiert als CDATA.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hhluemmel

Registriert seit: 14. Mär 2005
Ort: Hamburg
49 Beiträge
 
#3

Re: BlobFeld in eine XML Speichern

  Alt 16. Mai 2008, 11:14
Ich habe jetzt hier im Forum reichlich gesucht, aber ich kann leider kein
Beispiel zu meinem Problem finden ... Mit ist nicht klar, wie ich zu
einem "TXMLDocument" ein Note vom Type cData erzeuge, bzw. den Inhalt
des Blob-Feldes einer Tabelle in ein cData schreibe ....

Wäre für Beispiele und andere Hilfe sehr dankbar ..
  Mit Zitat antworten Zitat
hhluemmel

Registriert seit: 14. Mär 2005
Ort: Hamburg
49 Beiträge
 
#4

Re: BlobFeld in eine XML Speichern

  Alt 19. Mai 2008, 07:43
Kann mir hier keiner ein Beispiel geben oder weite Hinweise?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: BlobFeld in eine XML Speichern

  Alt 19. Mai 2008, 07:45
Ich verwende nicht TXMLDocument sondern OpenXML direkt. Hier müsste dir jemand ein Beispiel schreiben der diese Komponente verwendet.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hhluemmel

Registriert seit: 14. Mär 2005
Ort: Hamburg
49 Beiträge
 
#6

Re: BlobFeld in eine XML Speichern Lösung

  Alt 20. Mai 2008, 08:50
File in Base64 codieren

Delphi-Quellcode:
uses ....
   XMLDoc,XMLIntf,MSXML;



function TForm1.GetBase64CodeFile(pFileName: string):String;
var
 cFileData : TStringStream;
 cFileString : String;
 cFileStream : TFileStream;
begin
  if (pFileName<>'') then
  begin
    if FileExists(pFileName) then
     begin
       cFileData := TStringStream.Create(cFileString);
       cFileStream := TFileStream.Create(pFileName,fmOpenRead);
       try
         cFileStream.Position := 0;
         cFileData.CopyFrom(cFileStream,cFileStream.Size);
         Result := Base64.Encode(cFileData.DataString);
         Application.ProcessMessages;
       finally
         cFileData.Destroy;
         cFileStream.Destroy;
       end;
     end;

  end;
end;
cData Segment erstellen

Delphi-Quellcode:
procedure TForm1.AddFileData;
var
  cData : IDOMCDATASection;
begin
  cData := xmlDocument.DOMDocument.createCDATASection(xmlCData);
  xmlNode.DOMNode.appendChild(cData);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz