Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Binärdatei in TXMLDocument speichern (https://www.delphipraxis.net/125712-binaerdatei-txmldocument-speichern.html)

k_wave 10. Dez 2008 10:39


Binärdatei in TXMLDocument speichern
 
Hallo,

ich versuche verzweifelt eine Exe-Datei die mir als Blobstream vorliegt in einem XML-Knoten zu speichern.
Das ganze sieht bisher so aus:

Delphi-Quellcode:
           
var FieldNodE:IXMLNode;
Value:Variant;
Table:TADOTable;

[...]

FName:=Table.Fields[i].FieldName;
Value:=Table.Fields[i].Value;


FieldNode:=RowNode.AddChild(GetAlias(FName));
FieldNode.NodeValue:=Value;
Leider interpretiert das IXMLDocument Interface alle bytes mit dem wert 0 im Stream als string ende. Somit steht in meiner FieldNode statt einer byte-Wurst nur "MFP" (das vierte byte ist eine 0).

Wie kann ich im XML Dokument unter einem Knoten Binärdaten ablegen ohne dass dieses Verhalten auftritt?

jfheins 10. Dez 2008 10:55

Re: Binärdatei in TXMLDocument speichern
 
Du könntest die Binärdaten base64-enkodieren :?:

Ich weis, das ist mehr ein Workaround, aber es hilft :stupid:

SauberMann 10. Dez 2008 12:03

Re: Binärdatei in TXMLDocument speichern
 
Andernfalls, einfach nur den Pfad in der XML speichern, und die exe extern belassen.

Namenloser 10. Dez 2008 13:28

Re: Binärdatei in TXMLDocument speichern
 
Normalerweise kodiert man Binärdaten als Base64, auch um andere Parsing-Fehler zu verhindern, wenn z.b. eine spitze Klammer oder so vorkommt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz