Delphi DLL
Delphi DLL
Load XML Object from HTTP Response Body
Demonstrates how to load the HTTP response body directly into an XML object.Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, Xml, HttpResponse;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
http: HCkHttp;
resp: HCkHttpResponse;
xml: HCkXml;
begin
success := False;
http := CkHttp_Create();
resp := CkHttpResponse_Create();
success := CkHttp_HttpStr(http,'GET','https://www.chilkatsoft.com/exampledata/inventory.xml','','','',resp);
if (success = False) then
begin
Memo1.Lines.Add(CkHttp__lastErrorText(http));
Exit;
end;
xml := CkXml_Create();
// If we wish to transfer (instead of copy) the XML from the HttpResponse to the Xml, then add the keyword "TakeResponseBody" to UncommonOptions
// This could save memory for extremely large XML responses.
CkHttpResponse_putUncommonOptions(resp,'TakeResponseBody');
CkHttpResponse_GetBodyXml(resp,xml);
Memo1.Lines.Add(CkXml__getXml(xml));
// Note: If UncommonOptions contained "TakeResponseBody", then the response BodyStr will now be empty:
Memo1.Lines.Add('----');
Memo1.Lines.Add(CkHttpResponse__bodyStr(resp));
CkHttp_Dispose(http);
CkHttpResponse_Dispose(resp);
CkXml_Dispose(xml);
end;