2
如果我逐行建立XML,我可以設置編碼,但是當我從文件加載它時,我無法添加編碼。參見:爲什麼TXMLDocument在序列化爲字符串時省略了編碼?
procedure TForm1.Button1Click(Sender: TObject);
var
x : TXMLDocument;
s : string;
w : WIdeString;
begin
s := '<?xml version="1.0"?><a><b/></a>';
x := TXMLDocument.Create(Self);
x.XML.Text := s;
x.Active := True;
x.Encoding := 'UTF-8';
x.DocumentElement.childNodes['b'].attributes['x'] := '1';
x.SaveToXML(w);
ShowMessage(w);
end;
有趣的是,「編碼」部分從結果中丟失!
如何使結果包含XML編碼?
只是一個旁註,不要以這種方式實例化'TXMLDocument'。使用['LoadXMLData'](http://docwiki.embarcadero.com/Libraries/en/Xml.XMLDoc.LoadXMLData)函數實例化'IXMLDocument'。 – TLama