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
Seite 2 von 4     12 34      
roboter202

Registriert seit: 6. Mär 2011
98 Beiträge
 
Delphi 6 Professional
 
#11

AW: An alle Programmierhengste

  Alt 5. Apr 2011, 14:54
@roboter202:
Du meinst Die Tags [DELPHI] und [/DELPHI] ?!
^^ Wie macht er das ?

ah ich sehe mit [NOPARSE] und[/NOPARSE]
Christian
i := 0 ; While i = 0 do beep ;
  Mit Zitat antworten Zitat
golffahrer

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

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 14:58
1. Ich gebe Sie nirgends frei.
2. Da ich den Inhalt zwischen dem <body> Tag benötige und der mir aber bei einigen Artikel in groß und klein vorliegt, habe ich es 2 Mal.
3. Was genau soll bei einem externen XML-Parser stabiler sein!?
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#13

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 15:03
@golffahrer:
Dann gib sie mal schnell frei
Z.B. erübrigt sich mit einem Parser das Problem mit der Groß-/Kleinschreibung. Schön, dass du die Fälle "body" und "BODY" verarbeiten kannst, was aber wenn es mal "Body" heißt? Oder was, wenn der Tag <body> auch mal wo anders benutzt wird, dann findest du das, anstatt den, den du eigentlich möchtest etc. etc. ...


@roboter202:
Und wieder was dazugelernt
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 15:05
zu 3. Da kannst Du Dir alle verrenkungen Mit Pos und Copy schenken!
zu 2. siehe 3 bzw Uppercase() bzw. CompareText....
zu 1. Wenn Du meinst ....

Gruß
K-H

@DeepSea:
Kannst Du das mal im Klartext machen?
ich hab kein [parse] gesehen
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
golffahrer

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

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 15:11
Das Freigeben bringt auch nichts.

Es gibt nur <body> in klein und <BODY> in groß, daher nur die 2 Anweisungen.

Gut, dann hat der Parser nichts mit dem eigentlichen Problem zu tun.

Jemand eine Idee!?
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#16

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 15:17
@p80286:
Wie was?! Alles, was du in [NOPARSE] und [/NOPARSE] schreibst, wird eben nicht nach BB-Code geparst, dann kann man eben auch [DELPHI] oder [/DELPHI] schreiben.


Das Freigeben bringt auch nichts.
Doch: Es gibt kein Speicherleck mehr!
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
golffahrer

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

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 15:50
Würde es euch was bringen, wenn ich den Inhalt der .htm mal poste?
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#18

AW: An alle Programmierhengste: XML lesen

  Alt 5. Apr 2011, 15:53
Würde es euch was bringen, wenn ich den Inhalt der .htm mal poste?
Was ist es denn nun? XML? HTML? XHTML? ...
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
golffahrer

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

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
 
#20

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
Antwort Antwort
Seite 2 von 4     12 34      


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 16:39 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