XML von Webserver kopieren und lokal speichern

Für allgemeine Fragen zur Programmierung mit PureBasic.
torstenh
Beiträge: 24
Registriert: 16.10.2010 21:37

XML von Webserver kopieren und lokal speichern

Beitrag von torstenh »

Hallo liebe Gemeinde,

ich stehe wieder einmal auf dem Schlauch und komme nicht weiter. Ich möchte ein xml file aus dem Internet laden und lokal abspeichern.
ES FUNKTIONIERT EINFACH NICHT!
Ich habe schon einiges probiert aber ich stehe auf dem Schlauch oder ist das nicht möglich?
Wenn ich die Datei über den Browser kopiere und lokal abspeichere, kann ich sie lesen und alles ist gut. Nun möchte diese einfach nur kopieren.... oder zumindest ein Online xml auslesen.

Kann man json online lesen? Oder lokal speichern und dann lesen?

Kann mir jemand auf die Sprünge helfen?

Vielen Dank,
Torsten
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: XML von Webserver kopieren und lokal speichern

Beitrag von STARGÅTE »

Du kannst beliebige Dateien mit ReceiveHTTPFile() herunter laden und lokal speichern.
Danach kannst du es normal mit LoadXML() in Pure Basic einladen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: XML von Webserver kopieren und lokal speichern

Beitrag von RSBasic »

Oder noch besser mit ReceiveHTTPMemory() und CatchXML().
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
torstenh
Beiträge: 24
Registriert: 16.10.2010 21:37

Re: XML von Webserver kopieren und lokal speichern

Beitrag von torstenh »

Code: Alles auswählen

Procedure.s load_xml()
	InitNetwork()
	Download = ReceiveHTTPFile("http://www.meine.xml","meine.xml", #PB_HTTP_Asynchronous)

	If Download
			Progress = HTTPProgress(Download)
			Select Progress
				Case #PB_Http_Success
					Debug "Download finished"

				Case #PB_Http_Failed
					Debug "Download failed"

				Case #PB_Http_Aborted
					Debug "Download aborted"

				Default
					Debug "Current download: " + Progress

			EndSelect

	Else
		Debug "Download error"
	EndIf

EndProcedure
Das ist meine Procedure aber leider wird keine Datei geladen, dann ist bestimmt in der Procedure was falsch? Er legt die Datei wärend der Laufzeit an und löscht diese wieder :shock: Es kommt "Download failed" :roll:
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: XML von Webserver kopieren und lokal speichern

Beitrag von RSBasic »

Wenn du #PB_HTTP_Asynchronous verwendest, brauchst du auch eine Schleife. Siehe Beispielcode: http://www.purearea.net/pb/german/manua ... gress.html
Ansonsten kannst du den Parameter auch weglassen. Ist nur sinnvoll, wenn die Datei etwas groß ist und wenn der Download länger als eine Sekunde dauert, um den Downloadstatus zwischendurch abzufragen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
torstenh
Beiträge: 24
Registriert: 16.10.2010 21:37

Re: XML von Webserver kopieren und lokal speichern

Beitrag von torstenh »

:bounce: ...meine Sicherheitseinstellungen haben verhindert, das ich das .xml speichern konnte. Naja der Fehler sitzt bekanntlich immer vor dem PC. Trotzdem Danke für eure Unterstützung!

Funktioniert alles wie es soll!

Grüße,
Torsten :lamer:
Antworten