'ne abgewandelte Version für die, die Angst um veränderte Zeilenumbrüche haben:
Delphi-Quellcode:
var
sl : TStringList;
s : String;
i : Integer;
sErrorCode : String;
begin
...
Try
idHttp1 := TIdHTTP.Create;
sl := TStringList.Create;
Screen.Cursor := crHourGlass;
try
s := IdHTTP1.Get(sUrlLong);
IdHTTP1.Disconnect(True);
// Tags werden vom Inhalt getrennt, indem sie je Tag in eine Zeile kommen
s := AnsiReplaceText(s,'<',#13#10 + '<');
s := AnsiReplaceText(s,'>','>' + #13#10);
sl.Text := s;
// Tags brauchen wir nicht, ebensowenig wie Leerzeilen.
for i := sl.Count - 1 downto 0 do begin
if (Copy(sl[i],1,1) = '<')
or (sl[i] = '') then sl.Delete(i);
end;
i := sl.IndexOf('ErrorCode');
if i > -1 then sErrorCode := sl[i + 1];
except on E: EIdException Do
FormMain.add_info('UST Abfrage gescheitert ' + E.Message);
end;
Finally
sl.Free;
idHttp1.Free;
Screen.Cursor := crDefault;
End;
Und nun haben wir im Wechesel jeweil Beschreibung und den Text dazu.
Damit könnte man dann mit wenig Aufwand auch alles in 'ne Datenbank übernehmen.
Und ja, es geht auch mit 'nem
XML-Parser.