Liebe Leute,
ich habe zur Zeit ein etwas merkwürdiges Verhalten bei meiner TXMLDocument festgestellt, aber zunächst meinen Code:
Delphi-Quellcode:
procedure TMain_Form.CreateXMLClick(Sender: TObject);
var
newHead, newSub: IXMLDOMNode;
fAppPath:
String;
LDocument: IXMLDocument;
LNodeElement, NodeCData, NodeText: IXMLNode;
begin
fAppPath := ExtractFilePath(ParamStr(0)) + '
tmp\';
LDocument := TXMLDocument.Create(
nil);
LDocument.Active := True;
LDocument.LoadFromXML
('
<?xml version="1.0" encoding="UTF-8"?>' +
'
<TestElement>Inner text</TestElement>');
LDocument.DocumentElement := LDocument.CreateNode('
cnpsXML', ntElement, '
');
LDocument.DocumentElement.Attributes['
ProjectID.DWD'] := '
161428257';
LDocument.DocumentElement.Attributes['
CreatedByAppVersion'] := '
3.20.0';
LDocument.SaveToFile(fAppPath + '
test.xml');
end;
Wenn ich diesen Code ausführe und mir anschließend die
XML anschaue, so steht in dieser nur folgendes:
Code:
<?
xml version="1.0"?>
<cnpsXML ProjectID.DWD="161428257" CreatedByAppVersion="3.20.0"/>
Wenn ich statt encoding=UTF-8 einfach UTF-16 schreibe, so wird dieses korrekt übertragen.
Kann mir jemand sagen, wo der Fehler liegt?
Schöne Grüße und besten Dank!