如何在DELPHI中保存窗体的内容到XML中?(100分)

P

pagco

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如标题,新手一个,请解答详细点。
比如:保存Edit的text到XML,后面保存的内容可以追加。
以下为我原来的代码,该如何修改才能实现这个功能呢?
procedure TFPhoto.Button5Click(Sender: TObject);
var
aNode, aValueNode: IXMLNode;
wStr: widestring;
begin
//用TXmlDocument实现创建一个Xml文档
with XMLDocument1.XMLdo
begin
Add('<?xml version=&quot;1.0&quot;
standalone=&quot;yes&quot;
?>');
Add('<gx>');
Add('<rg>');
Add('<name></name>');
Add('<deparment></deparment>');
Add('<jw></jw>');
Add('<bh></bh>');
Add('</rg>');
Add('</gx>');
end ;
XMLDocument1.Active := true;
aNode := XMLDocument1.DocumentElement.AddChild('rg');
aValueNode := aNode.AddChild('name');
aValueNode.Text := Edit3.Text ;
aValueNode := aNode.AddChild('deparment');
aValueNode.Text := Edit4.Text ;
aValueNode := aNode.AddChild('jw');
aValueNode.Text := Edit5.Text ;
aValueNode := aNode.AddChild('bh');
aValueNode.Text := Edit6.Text ;
XMLDocument1.SaveToFile('D:/tmp/test.xml');
XMLDocument1.Active := false;
Edit3.Text :='';
Edit4.Text :='';
Edit5.Text :='';
Edit6.Text :='';

end;
 

狂风123

Unregistered / Unconfirmed
GUEST, unregistred user!
关注中,提示一下:TXmlDocument用来解析XML是很好的,最好不要用来修改XML
 
L

lmaman

Unregistered / Unconfirmed
GUEST, unregistred user!
试一下memo组件,.Lines.Add('xxx');//添加内容
.Lines.SaveToFile(Path+'xx.xml');//保存进xml文件,如果该文件不存在会自动建立,否则会覆盖,path是自定义文件存放路径,可以动态,可以静态设定。
 
W

weiliu

Unregistered / Unconfirmed
GUEST, unregistred user!
问题: 请教关于在delphi中把窗体信息转换成为xml格式的问题 ( 积分: 100 )
分类: XML

来自: bobo_rich, 时间: 2003-07-23 14:32:00, ID: 2052682
不知道怎么在两种格式之间转换,调用xslt转换器? 请指点!

来自: SuperSoft, 时间: 2003-09-18 15:10:00, ID: 2185313
用XMLDocument直接生成不就得了

来自: jack80315, 时间: 2003-09-18 15:32:00, ID: 2185394
不难,使用XMLDocument直接读写XML文件。给你个例子:
假设xml 文件格式如下,路径为d:/yu.xml:
<Datas>
<Name></Names>
<Sex></Sex>
</Datas>
现在将界面Edit1内容保存在<Name></Name>中,Edit2内容保存在<Sex></Sex>中
实现如下:
xmlDocument1.FileName:='d:/yu.xml';
xmlDocument1.Active:=true;

aNode := XMLDocument1.DocumentElement.ChildNodes[0];
aNode.childNodes['Name'].text:=Edit1.text;
aNode.childNodes['Sex'].text:=Edit2.text;
xmldocument1.SaveToFile('d:/yu.xml');

从xml 文件读正好反过来:
Edit1.text:=aNode.childNodes['Name'].text;
Edit2.text:=aNode.childNodes['Sex'].text;
xmldocument1.SaveToFile('d:/yu.xml');


来自: hfqxfx, 时间: 2004-02-11 14:52:44, ID: 2447567
谢谢jack80315,我正在找这样的。

来自: yanyandt2, 时间: 2004-02-11 15:00:35, ID: 2447591
能不能直接把一个文件转换成 xml 文件,
就好象 savefiletoxmlfile 这样的

来自: citty_baby, 时间: 2004-02-12 17:31:30, ID: 2450240
aNode是怎样的类型,应该怎样定义?

问题讨论没有结束 ...
 
I

ing

Unregistered / Unconfirmed
GUEST, unregistred user!
多看一下*.DFM文件然后在多看 TypInfo.pas吧
 
P

pagco

Unregistered / Unconfirmed
GUEST, unregistred user!
多人接受答案了。
 
顶部