用TXmlDocument啊。
xmldocument1.XML.LoadFromFile('your.xml');

解决方案 »

  1.   

    如果是TClientDataSet读取本地备份只要LoadFromfile就可以了
      

  2.   

    unit concfg;interfaceuses
      Windows, Messages, SysUtils, Classes,IcXMLStrings, IcXMLParser;type
      TConcfg = class
        applicationname: string;
        provider: string;
        connectTimeout: string;
        datasource: string;
        initialCatalog: string;
        userid: string;
        version: string;
        password: String;
        function GetConnectString: string;
        constructor Create(AFilename: string);
      end;implementationconstructor TConcfg.Create(AFilename: string);
    var
      text: TIcXMLText;
      ele: TIcXMLElement;
      par: TIcXMLParser;
      doc : TIcXMLDocument;
    begin
      par := TIcXMLParser.Create(nil);
      doc := TIcXMLDocument.Create;
      //doc.SetEncoding('UTF-8');
      try
        par.Parse(AFilename,doc);
        ele := doc.GetDocumentElement;
        version := ele.GetAttribute('version');
        ele := ele.GetFirstChild;
        while ele <> nil do
        begin
          if (ele.TagName = 'ApplicationName') then
            if ele.HasCharData then
            begin
              text := ele.GetFirstCharData;
              applicationname := trim(text.GetValue);
            end;
          if (ele.TagName = 'Provider') then
            if ele.HasCharData then
            begin
              text := ele.GetFirstCharData;
              provider := trim(text.GetValue);
            end;
          if (ele.TagName = 'DataSource') then
            if ele.HasCharData then
            begin
              text := ele.GetFirstCharData;
              datasource := trim(text.GetValue);
            end;
          if (ele.TagName = 'InitialCatalog') then
            if ele.HasCharData then
            begin
              text := ele.GetFirstCharData;
              InitialCatalog := trim(text.GetValue);
            end;
          if (ele.TagName = 'UserID') then
            if ele.HasCharData then
            begin
              text := ele.GetFirstCharData;
              UserID := trim(text.GetValue);
            end;
          if (ele.TagName = 'Password') then
            if ele.HasCharData then
            begin
              text := ele.GetFirstCharData;
              Password := trim(text.GetValue);
            end;
          ele := ele.NextSibling;
        end;
        if length(Trim(UserID)) = 0 then
          UserID := 'sa';
        if length(Trim(Provider)) = 0 then
          Provider := 'SQLOLEDB.1';
        if length(Trim(initialcatalog)) = 0 then
          initialcatalog := 'hszxdata';
        if length(Trim(DataSource)) = 0 then
          DataSource := '192.168.0.3';
      finally
        doc.clear;
        doc.Free;
      end;
    end;function TConcfg.GetConnectString: string;
    begin
        result := 'Provider=' + provider + ';Password=' + password +
                  ';Persist Security Info=True;User ID=' + userid +
                  ';Initial Catalog=' + initialcatalog +
                  ';Data Source=' + DataSource;
    end;
    end.
      

  3.   

    在form上加上XMLDocument控件name为mXML从文件读取xml文档:
    mXML.LoadFromFile(FILENAME);然后可以用mXml.DocumentElement[NODENAME]读取数据,
    或用mXml.DocumentElement[NODENAME]:=...改变或添加数据,最后,将文档保存到文件mXML.SaveToFile(FILENAME);如果想在程序中直接生成xml文档,
    可以参考下面的代码:mXMl.xml:='<xml></xml>';//设置ROOTNAME;
    mXMl.active:=true;mXml..DocumentElement[NODENAME]:=....;//赋值mXMl.SaveToFile(FILENAME);以上的都是根下的node的值的获得和修改,对于Xml的树形结构,可以参考下面的代码:
         
    xmlnode:=mXMl.DocumentElement.ChildNodes.FindNode(NODENAME);   获得name为NODENAME的node
    childnode:=xmlnode.ChildNodes.FindNode(CHILDNAME);  获得xmlnode的name为CHILDNAME的childnode;
    ..
    ..然后,用TTreeView来显示XML文档的所有树结构:
    procedure TForm1.ReadXMLTree(RootTreeNode:TTreeNode; XMLTreeNode:IXMLNode);
    var i:integer; c:TTreeNode;
    begin
      for i:=0 to XMLTreeNode.ChildNodes.Count-1 do
        begin
          c:=xmltree.Items.AddChild(RootTreeNode,XMLTreeNode.ChildNodes.Nodes[i].NodeName);
          ReadXMLTree(c,XMLTreeNode.ChildNodes.Nodes[i]);
        end;
    end;
      

  4.   

    我的问题就没有人能解决吗?我就是要从数据库里取数据然后写成XML形式返回给调用者,请高手帮忙!最好给出代码或者关键技术和关键语句!谢谢!
      

  5.   

    那要看你要给别人什么样的XML文档了。最简单的方式就是直接用clientset.xmldata,这样返回的xml文档的格式是borland的格式,你可以根据自己的需要进行转换(使用xslt或者别的方法)。 也可以按照qevan(guodong) 的方式,把数据读出来以后,根据你的需要,一个节点一个属性生成完整的xml文档。我想你应该对xml有些基本了解吧?
      

  6.   

    ADOQuery1.savetofile();
    在这个过程中有两个参数,你可以查一下帮助,其中有关一个参数是关于存储格式的。你自己找找看吧。。当然还有对应的ADOQuery2.LoadFormFile()了。。