Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Response-Daten eines TIdHTTP.Post in ein TXMLDocument-Objekt (https://www.delphipraxis.net/143371-response-daten-eines-tidhttp-post-ein-txmldocument-objekt.html)

Hedge 14. Nov 2009 12:23


Response-Daten eines TIdHTTP.Post in ein TXMLDocument-Objekt
 
Ich hole mir via Post XML-Daten von einem Server, aber weiß nicht wie ich diese dann in ein TXMLDocument bringen kann.

Es gibt zwar einige Beiträge zu dem Thema aber so richtig weitergeholfen hat mir Keiner.
Folgender Code bringt immer nur die Fehlermeldung "Kein aktives Dokument".

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  data,response: TStringList;
begin
  data := TStringList.Create;
  response := TStringList.Create;
  try
    data.Values['value1'] := 'abc';
    IdHttp1.Request.UserAgent:='Mozilla/4.0';
    response.Add(IdHTTP1.Post('http://www.homepage.com/test.php', data));
    XMLDocument1.Active:=true;
    XMLDocument1.XML:=response;
    Memo1.Lines.Text := XMLDocument1.ChildNodes['test2'].Text;
  finally
    data.Free;
    response.Free;
  end;
end;

himitsu 14. Nov 2009 13:31

Re: Response-Daten eines TIdHTTP.Post in ein TXMLDocument-Ob
 
XMLDocument1.LoadFromXML :?:


Zitat:

Delphi-Quellcode:
Memo1.Lines.Text := XMLDocument1.ChildNodes['test2'].Text;

hier wird XML-Child-Text an Memo übergeben ... wolltest du es nicht andersrum haben?

mjustin 14. Nov 2009 14:51

Re: Response-Daten eines TIdHTTP.Post in ein TXMLDocument-Ob
 
Funktionieren sollte entweder

Delphi-Quellcode:
    XMLDocument1.XML.Assign(Response);
oder

Delphi-Quellcode:
    XMLDocument1.XML.Text := Response.Text;
Sicherheitshalber kann man Response auch noch in eine Datei schreiben, die dann mit einem Editor oder einem XML Validator geöffnet werden kann.

p.s. Schade dass es für Delphi kein IDE Plugin für XML Validierung gibt - wer schreibt eines :) ?

Hedge 15. Nov 2009 16:16

Re: Response-Daten eines TIdHTTP.Post in ein TXMLDocument-Ob
 
Danke ihr Beiden.

Mit LoadFromXML scheint es zu gehen, aber leider führt das zu einem weiteren Problem:

http://www.delphipraxis.net/internal_redirect.php?p=1101594


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz