通过使用Node.ValueAsWidestring可以读取、写入widestring类型的节点值。节点其他属性可以使用FromWidestring方法转换widestring类型到utf8 string。如下: procedure AddNode(ADoc: TXmlDocument; AName, AValue: widestring); begin with ADoc.Root do with NodeNew(FromWidestring(AName)) do ValueAsWidestring := AValue; end;
var lFS: TTntFileStream; begin if dlgSave.Execute then begin FXmlDoc.VersionString:= '1.0'; FXmlDoc.EncodingString:= 'UTF-8'; FXmlDoc.ExternalEncoding:= seUTF8; lFS:= TTntFileStream.Create(dlgSave.FileName, fmCreate or fmShareDenyNone); try FXmlDoc.SaveToStream(lFS); finally lFS.Free; end; end; end;