![]() |
Problem beim Auslesen einer XML Datei
Guten Morgen. Ich habe ein kleines Problem beim Auslesen von einer XML Datei aus dem Internet. Der Aufbau der XML-Datei ist wie folgt:
<Show ID="250895">//Die ShowID muss herausgelesen werden <SiteID>100004</SiteID> <EventID>103996</EventID> <EventName>Chasing the Wind</EventName> <Medianumber>72977</Medianumber> <Exportnumber>72977</Exportnumber> <LanguageVersionID>14327</LanguageVersionID> Die ShowID möchte ich in einem ClientDataSet geschrieben haben. Mein Problem ist der, dass ich die Show ID nicht einfach so mit cdsShows.Append;
Delphi-Quellcode:
abfragen kann. Hat jemand eine Lösung wie ich die ShowID anders herausbekomme? Ich hab auch versucht eine Funktion zu schreiben, die die ShowID herausliest, aber bisher Ohne Erfolg.
cdsShows.FieldByName('Position').asInteger := i;
cdsShows.FieldByName('ShowTime').AsDateTime := GetShowDateTime(sTime); cdsShows.FieldByName('ShowID').AsString :=node.ChildNodes.FindNode('Show ID').Text; cdsShows.Post; Für Hilfe wäre ich echt dankbar. Mit Freundlichen Grüßen Christian |
AW: Problem beim Auslesen einer XML Datei
Der Knoten heißt "Show" und ein Attribut davon heißt "ID". Du findest sicher in den weiten des Internets genug Beispiele wie man ein Attribut aus einem Knoten liest.
|
AW: Problem beim Auslesen einer XML Datei
Zitat:
Danke Für deine schnelle Antwort Gruß |
AW: Problem beim Auslesen einer XML Datei
Nur mal so hingeschrieben (also ohne Gewähr)
Delphi-Quellcode:
cdsShows.FieldByName('ShowID').AsString := node.ChildNodes.FindNode('Show').Attributes['ID'];
|
AW: Problem beim Auslesen einer XML Datei
Zitat:
Dennoch danke ich dir für deine Hilfe. Gruß |
AW: Problem beim Auslesen einer XML Datei
Zitat:
![]() Um dir weiterzuhelfen, wäre es sicher nicht verkehrt, wenn du etwas mehr Code posten könntest. Grüße |
AW: Problem beim Auslesen einer XML Datei
Ich habe die Lösung
Delphi-Quellcode:
Danke für deine Hilfe und einen schönen Tag dir.:wink:
cdsShows.FieldByName('ShowID').AsString := XMLDocument1.DocumentElement.ChildNodes.Findnode('Show').Attributes['ID'] ;
Gruß |
AW: Problem beim Auslesen einer XML Datei
Delphi-Quellcode:
Ich komme nicht weiter... Es funktioniert nur mit
var sURL : string;
// value: Tvalue; sAllTimes, sTime,sID,Delimiter, sOutput : string; i : integer; node : IXMLNode; sDateAlt, sDate : string; begin Delimiter := ''; sAllTimes := ''; sDateAlt := ''; sURL := 'http://kinobox.net:11800/1.0/shows?siteid=100004&eventid=' + IntToStr(aEventID) + '&from='+ FormatDateTime('YYYY-MM-DD', date) +'&to='+ FormatDateTime('YYYY-MM-DD', date + 14) +'&apikey=2013dolphinV8'; sOutput := idHTTP1.Get(sURL); XMLDocument1.XML.Text := sOutput; XMLDocument1.Active := true; // ueber all knoten laufen for i := 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin node := XMLDocument1.DocumentElement.ChildNodes.Get(i); // für jeden Knoten die Uhrzeit (Showtime) und die ShowID rauslesen // Showtime in der Oberfläche anzeigen sTime := node.ChildNodes.FindNode('ShowTime').Text; sDate := CutDate(sTime, sDateAlt); // eintrag ins dataset schreiben. append, fieldbyname, post cdsShows.Append; cdsShows.FieldByName('Position').asInteger := i; cdsShows.FieldByName('ShowTime').AsDateTime := GetShowDateTime(sTime); cdsShows.FieldByName('ShowID').AsInteger := node.ChildNodes.FindNode('Show').Attributes['ID'];//geht nicht //XMLDocument1.DocumentElement.ChildNodes.Findnode('Show').Attributes['ID'] ; cdsShows.Post; Grid2.RowCount := XMLDocument1.DocumentElement.ChildNodes.Count; end; end;
Delphi-Quellcode:
Aber dort wird die Position nicht abgefragt, die ich unbedingt benötige, um eine URL daraus zu machen
XMLDocument1.DocumentElement.ChildNodes.Findnode('Show').Attributes['ID']
Delphi-Quellcode:
Kann mir jemand helfen?
bURL := 'http://kinobox.net:11800/1.0/shows/' + InttoStr(ShowID) + '/tickets?apikey=2013dolphinV8';
Gruß |
AW: Problem beim Auslesen einer XML Datei
Habs hinbekommen...
Die Lösung ist
Delphi-Quellcode:
:-D
cdsShows.FieldByName('ShowID').AsString := node.Attributes['ID']
Warum bin ich nicht früher drauf gekommen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz