![]() |
XML ohne Declaration
Hallo zusammen,
Normalerweise steht in eine XML-Datei in der ersten Zeile ja die Declaration. <?xml version="1.0" encoding="utf-8"?> Bei mir aber nicht. Ich mache folgendes:
Delphi-Quellcode:
Das XML wird geschreiben , aber ohne die erste Zeile mit
dummyComp:=TComponent.Create(nil);
fXMLDoc:=TXMLDocument.Create(dummyComp); fXMLDoc.Active:=true; fXMLDoc.Version := '1.0'; fXMLDoc.Encoding := 'UTF-8'; // jede Menge Knoten erzeugen fXMLDoc.SaveToFile(FileName); <?xml version="1.0" encoding="utf-8"?> Was fehlt da? Seltsamerweise schreibe ich an einer ganz anderen Stelle auch XMLs, und die haben diese erste Zeile. Ich finde aber nichts, was ich da anders mache. |
AW: XML ohne Declaration
Delphi-Quellcode:
im Memo steht dann: <?xml version="1.0" encoding="UTF-16"?>
procedure TForm1.Button1Click(Sender: TObject);
var xmlDoc: IXmlDocument; begin coInitialize(nil); xmlDoc := newXmlDocument; xmlDoc.Active := true; xmlDoc.Encoding := 'UTF-16'; memo1.Lines.Text := xmlDoc.XML.Text; coUnInitialize; end; Grüße Klaus |
AW: XML ohne Declaration
Jetzt habe ich meinen Fehler gefunden:
Da stand noch ein
Delphi-Quellcode:
fXMLDoc.ChildNodes.Clear;
Dass dadurch die Version und das Encoding auch gelöscht werden, war mir nicht bewusst. Das Clear benutze ich, weil ich mit dem selben XMLDoc nacheinander mehrere verschiedene XML-Dateien erzeugen wollte. Jetzt muss ich halt nach dem clear nochmal
Delphi-Quellcode:
machen, oder das XMLDoc jedesmal neu erzeugen und freigeben.
fXMLDoc.Version := '1.0';
fXMLDoc.Encoding := 'UTF-8'; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 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 by Thomas Breitkreuz