Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Fetch ISBN XML from isbndb.com and ParseDemonstrates sending a query to isbndb.com and parsing the XML response.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Xml, Http; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; strXml: PWideChar; xml: HCkXml; success: Boolean; xml2: HCkXml; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); // The access_key in this URL is a valid access key, but limited to 100 queries per day. // If the key does not work, it may be that others were testing and exhausted the limit. strXml := CkHttp__quickGetStr(http,'http://isbndb.com/api/books.xml?access_key=OV8L2Y9I&results=details&index1=isbn&value1=0443074348'); if (CkHttp_getLastMethodSuccess(http) <> True) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; xml := CkXml_Create(); success := CkXml_LoadXml(xml,strXml); // The XML returned for this URL is the following: // <?xml version="1.0" encoding="UTF-8" ?> // <ISBNdb server_time="2007-10-25T14:07:25Z"> // <BookList total_results="1" page_size="10" page_number="1" shown_results="1"> // <BookData book_id="diagnostic_histopathology_of_tumors_2_volume_set_with_cd_rom" isbn="0443074348"> // <Title>Diagnostic Histopathology of Tumors: 2-Volume Set with CD-ROMs</Title> // <TitleLong>Diagnostic Histopathology of Tumors: 2-Volume Set with CD-ROMs (Diagnostic Histopathology of Tumors (Fletcher))</TitleLong> // <AuthorsText>Christopher D. M. Fletcher (Editor)</AuthorsText> // <PublisherText publisher_id="churchill_livingstone">Churchill Livingstone</PublisherText> // <Details dewey_decimal="616" physical_description_text="2166 pages" language="" edition_info="Hardcover; 2007-03-13" dewey_decimal_normalized="616" lcc_number="" change_time="2006-12-13T14:53:42Z" price_time="2007-10-25T01:12:13Z" /> // </BookData> // </BookList> // </ISBNdb> // First, navigate to the BookData node: success := CkXml_FirstChild2(xml); success := CkXml_FirstChild2(xml); // Show the Title and AuthorsText: Memo1.Lines.Add(CkXml__getChildContent(xml,'Title')); Memo1.Lines.Add(CkXml__getChildContent(xml,'AuthorsText')); // Show the publisher_id attribute of the PublisherText node: xml2 := CkXml_FindChild(xml,'PublisherText'); Memo1.Lines.Add(CkXml__getAttrValue(xml2,'publisher_id')); CkXml_Dispose(xml2); // Save the XML to a file: success := CkXml_SaveXml(xml,'book.xml'); CkHttp_Dispose(http); CkXml_Dispose(xml); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.