关于XML文件读取和写入

qq919696096 2011-01-11 02:21:28
http://sheng.javaeye.com/blog/771019
http://maverick.cnblogs.com/archive/2005/01/12/90459.aspx
看了之后还是不懂....
谁来说下XML文件读取和写入,关键步骤
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gyk120 2011-01-11
  • 打赏
  • 举报
回复
XML是utf 8结构编码的,楼主如果不明白utf 8编码,还是去补补基础吧……
h98458 2011-01-11
  • 打赏
  • 举报
回复
那两个例子已经写得很明白了,给你一个我自己写的:生成目录结构树的XML:
function  DirectoryToXml(FullPath:string):Boolean;// 根据文件夹创建一个包含它里面所有内容(子文件夹和文件名)的XML文件
var
Root:IXMLNode; //根节点
DirNode:IXMLNode; //目录节点
FileNode:IXMLNode; //文件节点
OutXMLDOC:TXMLDocument;
i:Integer;
time:TDateTime;

procedure pSearchFile(mPath: string); //查询文件生成xml结构
var
vSearchRec:TSearchRec;
K:Integer;
ItemTemp:IXMLNode; //中转node,用来保存当前目录的父结点
begin
K:=FindFirst(mPath+'\*.*',faAnyFile,vSearchRec);
while K=0 do
begin
Application.ProcessMessages;
if IsDirOrFile(vSearchRec.Name,vSearchRec.Attr)=1 then
begin
DirNode:=DirNode.AddChild('Dir');
DirNode.Attributes['Name']:=mPath+'\'+vSearchRec.Name;
ItemTemp := DirNode.ParentNode;
pSearchFile(mPath+'\'+vSearchRec.Name);
DirNode:= ItemTemp;
end
else if IsDirOrFile(vSearchRec.Name,vSearchRec.Attr)=2 then
begin
FileNode:=DirNode.AddChild('File');
FileNode.Attributes['Name']:=mPath+'\'+vSearchRec.Name;
try
FileNode.Attributes['FileSize']:=IntToStr(FileSizeEx(mPath+'\'+vSearchRec.Name)); //文件大小
except
on E: Exception do
begin
Result:=False;
Application.MessageBox(PChar(E.Message+#13#10+'The operation is going to disrupt,please click "OK" to exit.'), 'Registry Easy', MB_ICONWARNING);
Exit;
end;
end;
//FileNode.Attributes['FtpUser']:=IdFTP1.Username;
FileNode.Attributes['ModifiedDate']:=GetFileTime(mPath+'\'+vSearchRec.Name); //文件最后修改时间
FileNode.Attributes['MD5']:=RivestFile(mPath+'\'+vSearchRec.Name); //md5码
end;
K:=FindNext(vSearchRec);
end;
FindClose(vSearchRec);
end;

begin
Result:=True;
OutXMLDOC:=TXMLDocument.Create(nil);
OutXMLDOC.XML.Clear;
OutXMLDOC.Active:=True;
OutXMLDoc.Encoding:='utf-8';
Root:=OutXMLDOC.AddChild('Backup');
//添加根节点属性
//root.Attributes['FtpUser']:=IdFTP1.Username;
time:=Now;
Root.Attributes['time']:=FormatDateTime('yyyy-mm-dd hh:nn:ss',time);
DirNode:=Root.AddChild('Dir');
DirNode.Attributes['Name']:=FullPath;
pSearchFile(FullPath);

OutXMLDoc.SaveToFile('localWordFolder.tsk');
OutXMLDOC:=nil;
end;
hongqi162 2011-01-11
  • 打赏
  • 举报
回复
http://www.simdesign.nl/xml.html
bdmh 2011-01-11
  • 打赏
  • 举报
回复
写那么详细,还不明白,xmldocument,这个组件,就那么几个方法,自己操作一下吧看看

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧