用DELPHI怎样才能操作一个XML文件把里面的数据对应的导入到Access啊,给个具体的方法,小弟新手。

解决方案 »

  1.   

    NativeXml
       用这个挺容易的。
      

  2.   

    呵呵..首先是批评下楼主的态度.你自己本身都不会,人家肯教你就算不错了,你还骂人家,这样不太好吧,个人意见哈
    首先把XML做为一张表,然后用clientDateset连上XML,连上后就有记录数,然后循环
    最后你可以通过adoQuery或是adotable插入到你的access数据库
         ClientDateset.FileName:=XMLFileName;
         ClientDateset.Active:=true;
         if ClientDateset.RecordCount>0 then
         begin
           ClientDateset.First;
           while not ClientDateset.Eof do
           begin
             with adoQuery do
             begin
               close;
               sql.Clear;
               sql.Text:='insert into smSetGame(GameID,vcCgamename,vcEgamename,vcCorpName,vcGameTypeName,dtSetdatetime,vcXMLSource,vcBuse) values (:GameID,:vcCgamename,:vcEgamename,:vcCorpName,:vcGameTypeName,:dtSetdatetime,:vcXMLSource,:vcBuse)';
               parameters.ParamByName('GameID').Value:=ClientDateset.fieldbyname('GameID').AsString;
               parameters.ParamByName('vcCgamename').Value:=ClientDateset.fieldbyname('Cname').AsString;
               parameters.ParamByName('vcEgamename').Value:=ClientDateset.fieldbyname('Ename').AsString;
               parameters.ParamByName('vcCorpName').Value:=ClientDateset.fieldbyname('CorpName').AsString;
               parameters.ParamByName('vcGameTypeName').Value:=ClientDateset.fieldbyname('GameTypeName').AsString;
               parameters.ParamByName('dtSetdatetime').Value:=strSaveDatetime;
               parameters.ParamByName('vcXMLSource').Value:='XML文件';
               parameters.ParamByName('vcBuse').Value:='禁止访问';
               execsql;
              end;
             ClientDateset.next;
           end;
        end;