http://sheng.javaeye.com/blog/771019
http://maverick.cnblogs.com/archive/2005/01/12/90459.aspx
看了之后还是不懂....
谁来说下XML文件读取和写入,关键步骤

解决方案 »

  1.   

    写那么详细,还不明白,xmldocument,这个组件,就那么几个方法,自己操作一下吧看看
      

  2.   

    那两个例子已经写得很明白了,给你一个我自己写的:生成目录结构树的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;
      

  3.   

    XML是utf 8结构编码的,楼主如果不明白utf 8编码,还是去补补基础吧……