我需要使用此链接http://isbndb.com/api/books.xml?access_key=12345678&index1=isbn&value1=9780321635345从isbndb.com通过XML服务获取图书信息。
任何想法如何在德尔福做到这一点?
最佳答案
您需要一个HTTP客户端(让我们说Indy)和一个XML解析器。对于XML解析器,只需使用OmniXML为例。 Indy包含在Delphi7中。然后只需编写如下代码:
procedure TForm1.Button1Click(Sender: TObject);
const
cURL = 'http://isbndb.com/api/books.xml?access_key=12345678&index1=isbn&value1=9780321635345';
var
HTTPClient: TIdHTTP;
XMLAsStream: TMemoryStream;
XMLDocument: IXMLDocument;
begin
HTTPClient := TIdHTTP.Create(nil);
try
XMLAsStream := TMemoryStream;
try
HTTPClient.Get(cURL, XMLAsStream);
XMLAsStream.Position := 0;
XMLDocument := CreateXMLDoc;
XMLDocument.LoadFromStream(XMLAsStream);
finally
XMLAsStream.Free;
end;
finally
HTTPClient.Free;
end;
end;
现在,您已将XML文档解析为内存中的DOM。只需使用它:)
关于xml - 使用Delphi 7中的XML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3536420/