AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Binärdatei in TXMLDocument speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Binärdatei in TXMLDocument speichern

Offene Frage von "k_wave"
Ein Thema von k_wave · begonnen am 10. Dez 2008 · letzter Beitrag vom 10. Dez 2008
Antwort Antwort
k_wave

Registriert seit: 27. Feb 2008
1 Beiträge
 
Delphi 2007 Enterprise
 
#1

Binärdatei in TXMLDocument speichern

  Alt 10. Dez 2008, 10:39
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?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Binärdatei in TXMLDocument speichern

  Alt 10. Dez 2008, 10:55
Du könntest die Binärdaten base64-enkodieren

Ich weis, das ist mehr ein Workaround, aber es hilft
  Mit Zitat antworten Zitat
SauberMann

Registriert seit: 18. Nov 2008
13 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Binärdatei in TXMLDocument speichern

  Alt 10. Dez 2008, 12:03
Andernfalls, einfach nur den Pfad in der XML speichern, und die exe extern belassen.
Max
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Binärdatei in TXMLDocument speichern

  Alt 10. Dez 2008, 13:28
Normalerweise kodiert man Binärdaten als Base64, auch um andere Parsing-Fehler zu verhindern, wenn z.b. eine spitze Klammer oder so vorkommt.
  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 23:48 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