xml文件怎么写入DATASET里面啊,好像可是用DATASET的LoadFromFile来直接load,可是我试了一下不行,在XMLMapper里面可以转换的xml会报错‘RecordSet cannot be created.Source XML is incomplete or invalid'!哪位老大能提示一下读取的方式不?

解决方案 »

  1.   

    做了半天测试,得到的结论是这样的,对DataSet用SaveToFile生成的xml可以读取,但是用LoadFromFile读取标准格式的xml时就会显示上面的错误。如果不用loadfromfile还能用别的什么办法吗?
      

  2.   

    xml的一个应用本来就是要约定一组标签的,SaveToFile和LoadFromFile都要符合这个约定。
    别的办法只有自己定义一个xml应用,自己来解析生成ClientDataSet。
      

  3.   

    var
      myDataSet:TClientDataSet;
    begin
      myDataSet := TClientDataSet.Create(application);
      myDataSet.LoadFromFile(ExtractFilePath (Application.ExeName) + 'ClientDataSet1.txt'); //読出
      myDataSet.Active;
      DataSource1.DataSet := myDataSet;
    end;(注:也可先拖一个TClientDataSet控件在TForm)
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      myDataSet:TClientDataSet;
    begin
      myDataSet := TClientDataSet.Create(application);
      myDataSet.FieldDefs.Add('name',ftstring,10);
      myDataSet.FieldDefs.add('age',ftinteger);
      myDataSet.CreateDataSet;          //建立
      myDataSet.Active;
      myDataSet.AppendRecord(['張三',10]);
      myDataSet.AppendRecord(['李四',40]);  DataSource1.DataSet := myDataSet;    //再接TDBGrid控件、直接可看
    myDataSet.SaveToFile( ExtractFilePath (Application.ExeName) + 'ClientDataSet.txt', dfXML ); //XML形式
    end;