因为想把每个节点其他的信息也记录下来,所以单纯使用savetofile存成txt文件好像还不行。
解决方案 »
- 请问怎么实现弹出 我的电脑、桌面、回收站这种特殊路径的右键菜单?
- 送分100分:如何将一个数组转换成字符串。
- 字符串判等
- ado链接数的问题
- 关于TBitmap用法!
- DELPHI使用的一个小问题~~~~~~~~~~~~~~~~~~
- 各位兄弟,一个关于mediaplayer的问题,帮帮忙,在下先行谢过
- 为什么报表预览不同的机子有不同的结果?
- 通过字段编辑器我能否为字段加上默认值??我不想通过数据库加默认值!!constraint属性有什么用??在这里能否用上?
- Delphi 6 调试OCX 出现 unable create process ,不支持该请求
- 实现两个TReeView数据交换,急!
- @@@请问怎么更换dbgrid显示的内容!!谢谢!!
//保存结点 Node:树结点 Root:保存到xml结点
procedure AddNodeXml(Node: TTreeNode; var Root: IXMLNode);
var
ss, code: string;
upNode: IXMLNode;
index: integer;
begin
ss := Trim(Node.Text);//结点文本格式:code + ' ' + name
code := Copy(ss, 1, Pos(' ', ss) - 1);
system.Delete(ss, 1, Pos(' ', ss));
upNode := Root.AddChild('node');
upNode.SetAttributeNS('code', '', ss);
upNode.SetAttributeNS('name', '', code);
end; //保存到文件 filename:文件名
procedure SaveToXmlFile(const FileName: String);
var
XMLDoc: TXMLDocument;
Root: IXMLNode;
i: integer;
ss: String;
begin
XMLDoc := TXMLDocument.Create(Self);
try
XMLDoc.Active := True;
XMLDoc.Encoding := 'UTF-8';
Root := XMLDoc.AddChild('Root'); for i := 0 to tvVersion.Items[0].Count - 1 do
begin
AddNodeXml(tvVersion.Items[0].Item[i], Root);
end; XMLDoc.SaveToFile(FileName);
finally
XMLDoc.Free;
end;
end;
在AddNodeXml函数最后加一句就可以了
for i := 0 to Node.Count - 1 do
begin
AddNodeXml(Node.Item[i], UpNode);
end;