我需要使用此链接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/

10-10 03:07