Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#14

AW: XML parsen, aber wie

  Alt 29. Mär 2017, 15:31
'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.

Geändert von nahpets (29. Mär 2017 um 16:34 Uhr) Grund: Syntafehler behoben, siehe Post von Bra
  Mit Zitat antworten Zitat