我想把   http://api.tuankela.com/openapi  这个网址的内容(本事就是xml形式) 保存成本地XML文件,如(C:\test.xml),不知道如何操作?忘高手指点下?

解决方案 »

  1.   


    uses ActiveX, ComObj;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
      function GetWebPage(PostUrl: string): string;
      var
        xmlHttp: Olevariant;
      begin
        Result := '';
        CoInitialize(nil);
        xmlHttp := CreateOleObject('WinHttp.WinHttpRequest.5.1');
        try
          xmlHttp.open('GET',PostUrl,False);
          xmlHttp.send;
          Result := xmlHttp.responseText;
        finally
          xmlHttp := Unassigned;
          CoUnInitialize;
        end;
      end;
    var
      S: TStrings;
    begin
      S := TStringList.Create;
      try
        S.Text := GetWebPage('http://api.tuankela.com/openapi');
        S.SaveToFile('C:\test.xml');
      finally
        S.Free;
      end;
    end;
      

  2.   

    用indy的TidHttp更简单:
    var fStream:TFileStream;
    begin
      fStream:=TFileStream.Create('D:\a.xml',fmCreate );
      try
        IdHTTP1.Get('http://api.tuankela.com/openapi',fStream);
      finally
        fStream.Free;
      end;
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      data: TMemoryStream;
    begin
      data := TMemoryStream.Create;
      IdHTTP1.Get('http://api.tuankela.com/openapi', data);
      data.SaveToFile('c:\test.xml');
      data.Free;
    end;
      

  4.   

    不会,占个位置顶顶一下>>>>>>>>>>>
      

  5.   

    嗯嗯,用idhttp直接下载下来就行了~
      

  6.   

    可以先将其读入到字符流,然后通过StringList保存成文件
    如果想直观看到内容,使用Memo加载内容,然后保存到文件也可以
      

  7.   

    D2010 有组件 XMLDocument  XMLDocument1.LoadFromFile('http://api.tuankela.com/openapi');   //下载
      Memo1.Lines.Text := FormatXMLData(XMLDocument1.XML.Text);      //格式化成XML
      XMLDocument1.SaveToFile('123.xml');   //保存到本地
      

  8.   

    保存成XML的时候,一定要用XMLDocument,这样就不会有编码的问题。