Einzelnen Beitrag anzeigen

T.E.

Registriert seit: 27. Mai 2007
Ort: Hamburg
284 Beiträge
 
Delphi XE2 Enterprise
 
#1

TXMLDocument encoding wird nicht korrekt geschrieben

  Alt 23. Jul 2012, 14:23
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!
  Mit Zitat antworten Zitat