![]() |
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:
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).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; Wie kann ich im XML Dokument unter einem Knoten Binärdaten ablegen ohne dass dieses Verhalten auftritt? |
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: |
Re: Binärdatei in TXMLDocument speichern
Andernfalls, einfach nur den Pfad in der XML speichern, und die exe extern belassen.
|
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