TXMLDocument的保存问题,可能是该控件的Bug,高手请进
最近使用TXMLDocument控件,发现一个重大的Bug,当写入一个节点的相同的属性,两次以上,并且进行保存,然后再设置此属性不同的数值,但是TXMLDocument.xml.text获取的内容,确是上一次的内容。但是savetofile的文件却是正确的,而且node上的xmlText属性也是正确的,就是TXMLDocument.xml.text不正确!请高手解决一下,测试代码如下:
procedure TForm1.btn1Click(Sender: TObject);
var
Doc:txmldocument;
Root:IXMLNode;
begin
Doc:=TXMLDocument.Create(self);
Doc.Active:=True;
Doc.Encoding:='GB2312';
Root:=Doc.CreateNode('root');
Doc.DocumentElement:=Root;
Root.Attributes['aaa']:='111'; //第一次设置属性和数值
Self.mmo1.Lines.Add(Doc.XML.Text);
Doc.SaveToFile('d:\1.xml');
Root.Attributes['aaa']:='111'; //再设置一次相同的数值
Self.mmo2.Lines.Add(Doc.XML.Text);
Doc.SaveToFile('d:\2.xml');
Root.Attributes['aaa']:='222';
Self.mmo3.Lines.Add(Doc.XML.Text); //这次就是错误的数值
Self.mmo1.Lines.Add(Root.XML);//node上的xml是正确的
Doc.SaveToFile('d:\3.xml');
Doc.Free;
end;
其中,文件1.xml,2.xml,3.xml的内容是正确的