AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein An alle Programmierhengste: XML lesen
Thema durchsuchen
Ansicht
Themen-Optionen

An alle Programmierhengste: XML lesen

Ein Thema von golffahrer · begonnen am 5. Apr 2011 · letzter Beitrag vom 6. Apr 2011
Antwort Antwort
golffahrer

Registriert seit: 5. Apr 2011
12 Beiträge
 
#1

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 16:04
Nochmal von vorne. Ich sende einen Befehl zum Lieferanten und bekomme folgendes zurück:

<item>
<number>123456789</number>
<unitprice>0,00</unitprice>
<description1>Testartikel</description1>
<description2>und so weiter...</description2>
<infourl>
http://testpfad.de/test.HTM
</infourl>
<pictureurl>
http://testpfad.de/test.JPG
</pictureurl>
</item>

Ich entnehme die Daten aus den Knoten und speichere Sie in die Datenbank. Wie Ihr seht gibt es ein <infourl>.
Ich nehme den Pfad http://testpfad.de/test.HTM und streame mir den Inhalt.

Delphi-Quellcode:
 ...
if n = 'infourlthen
                            begin
                              PostDataStream := TStringStream.Create('');
                              ParamData := TStringStream.Create('');
                              ParamData.WriteString('');
                              ArtikelAdsTable.FieldByName('Infourl').AsString := s;
                              HtmlCodeIdHTTP.Post(s, ParamData, PostDataStream);
                              ArtikelAdsTable.FieldByName('Infotextalles').AsString := PostDataStream.DataString;
                              BodyJvRichEdit.Clear;
                              BodyJvRichEdit.Text := PostDataStream.DataString;
                              if Pos('<BODY>', BodyJvRichEdit.text) <> 0 then
                              begin
                                Start := Pos('<BODY>', BodyJvRichEdit.text)+7;
                                Ende := Pos('</BODY>', BodyJvRichEdit.text);
                                Body := Ende - Start;
                                bodytext := copy(BodyJvRichEdit.text, Pos('<BODY>', BodyJvRichEdit.Text)+6, Body+1);
                                ArtikelAdsTable.FieldByName('Infotextbody').AsString := bodytext;
                              end;
                              if Pos('<body>', BodyJvRichEdit.text) <> 0 then
                              begin
                                Start := Pos('<body>', BodyJvRichEdit.text)+7;
                                Ende := Pos('</body>', BodyJvRichEdit.text);
                                Body := Ende - Start;
                                bodytext := copy(BodyJvRichEdit.text, Pos('<body>', BodyJvRichEdit.text)+6, Body+1);
                                ArtikelAdsTable.FieldByName('Infotextbody').AsString := bodytext;
                              end;
                            end
...
Ist es nun verständlicher!?

P.S: Ich weiß man kann es sauberer lösen. Ich bin auch kein Crack, aber es erfüllt "eigentlich" seinen Zweck!

Geändert von golffahrer ( 5. Apr 2011 um 16:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 16:18
Servus golffahrer,

zeig uns bitte mal das XML von dem Datensatz, bei dem es kracht.

lg W.
  Mit Zitat antworten Zitat
golffahrer

Registriert seit: 5. Apr 2011
12 Beiträge
 
#3

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 16:33
Meinst Du den Inhalt der .HTM Datei?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.510 Beiträge
 
Delphi 12 Athens
 
#4

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 17:09
Zitat:
P.S: Ich weiß man kann es sauberer lösen. Ich bin auch kein Crack, aber es erfüllt "eigentlich" seinen Zweck!
Gerade da sollte man doch etwas nehmen, was mit XML umgehen kann, als alles selber zu versuchen?
Also einen XML-Parser, welcher genau dafür gedacht ist.
Und wenn es wirklich seinen Zweck erfüllen würde, dann würde es doch wohl funktionieren?

PS:
Zitat:
<item>
<number>123456789</number>
<unitprice>0,00</unitprice>
<description1>Testartikel</description1>
<description2>und so weiter...</description2>
<infourl>
http://testpfad.de/test.HTM
</infourl>
<pictureurl>
http://testpfad.de/test.JPG
</pictureurl>
</item>
Ich sehe hier weder body noch BODY.

Wobei das Ganze irgendwie ein bissl nach XML-RPC aussieht und dafür hat INDY und/oder MSXML sogar was direkt eingebaut.
http://www.delphipraxis.net/111790-x...-download.html
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Apr 2011 um 17:12 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 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