XML auslesen, URL Problem?

  • Hallo,



    ich habe eine URL, die sieht so aus:




    Code: http://api.wetter.com/forecast…t/flugsite/cs/MD5Checksum


    Bei MD5 Checksum kommt dann eine errechnete Summe rein.
    Alles kein Problem. Die XML Datei, die beim Aufruf von der URl
    erscheint, sieht so aus:




    Code:


    ws ist dann zum Beispiel die Windgeschwindigkeit, wd die Windrichtung usw.



    Ich möchte also, dass die URL geöffnet wird, und dann soll ws, die
    Windgeschwindigkeit, in der Variable $Windgeschwindigkeit gespeichert
    werden.




    Wie mache ich das jetzt genau?




    Danke im Voraus!!!


    Gruß


    Max

  • Danke euch beiden!


    Ja, das geht auch mit JSON. Man muss nur /output/json an die URL hängen. Output wäre jetzt:


    Ich habe es extra nicht in Code Blöcke gesetzt, da es sonst nicht untereinander angezeigt wird.

    JavaScript
    1. {"city":{"city_code":"DE0001007","name":"Bergneustadt","url":"deutschland/bergneustadt/DE0001007.html","post_code":"51702","credit":{"info":"In order to use the free weather data from wetter.com you HAVE TO display at least two out of three of the following possibilities: text, link, logo","text":"Powered by wetter.com","link":"http:\/\/www.wetter.com","logo":"Download at http:\/\/www.wetter.com\/api\/downloads\/#logos"},"forecast":{"2013-10-22":{"du":"1382414400","d":"1382421600","dhu":"2013-10-22 04:00","dhl":"2013-10-22 06:00","p":"24","w":"20","pc":"25","wd":"180","ws":"20.4","06:00":{"du":"1382414400","d":"1382421600","dhu":"2013-10-22 04:00","dhl":"2013-10-22 06:00","p":"5","w":"20","pc":"20","tn":"14","tx":"16","wd":"180","ws":"18.5","w_txt":"wolkig","wd_txt":"S"},"11:00":{"du":"1382432400","d":"1382439600","dhu":"2013-10-22 09:00","dhl":"2013-10-22 11:00","p":"6","w":"20","pc":"20","tn":"17","tx":"21","wd":"180","ws":"20.4","w_txt":"wolkig","wd_txt":"S"},"17:00":{"du":"1382454000","d":"1382461200","dhu":"2013-10-22 15:00","dhl":"2013-10-22 17:00","p":"6","w":"20","pc":"25","tn":"16","tx":"19","wd":"180","ws":"18.5","w_txt":"wolkig","wd_txt":"S"},"23:00":{"du":"1382475600","d":"1382482800","dhu":"2013-10-22 21:00","dhl":"2013-10-22 23:00","p":"7","w":"61","pc":"85","tn":"16","tx":"16","wd":"180","ws":"20.4","w_txt":"leichter Regen","wd_txt":"S"},"w_txt":"wolkig","wd_txt":"S","tn":"14","tx":"21"},"2013-10-23":{"du":"1382500800","d":"1382508000","dhu":"2013-10-23 04:00","dhl":"2013-10-23 06:00","p":"24","w":"61","pc":"85","wd":"180","ws":"22.2","06:00":{"du":"1382500800","d":"1382508000","dhu":"2013-10-23 04:00","dhl":"2013-10-23 06:00","p":"5","w":"61","pc":"85","tn":"16","tx":"16","wd":"180","ws":"22.2","w_txt":"leichter Regen","wd_txt":"S"},"11:00":{"du":"1382518800","d":"1382526000","dhu":"2013-10-23 09:00","dhl":"2013-10-23 11:00","p":"6","w":"81","pc":"75","tn":"16","tx":"18","wd":"180","ws":"22.2","w_txt":"Regen - Schauer","wd_txt":"S"},"17:00":{"du":"1382540400","d":"1382547600","dhu":"2013-10-23 15:00","dhl":"2013-10-23 17:00","p":"6","w":"61","pc":"85","tn":"14","tx":"16","wd":"180","ws":"18.5","w_txt":"leichter Regen","wd_txt":"S"},"23:00":{"du":"1382562000","d":"1382569200","dhu":"2013-10-23 21:00","dhl":"2013-10-23 23:00","p":"7","w":"20","pc":"25","tn":"12","tx":"14","wd":"180","ws":"14.8","w_txt":"wolkig","wd_txt":"S"},"w_txt":"leichter Regen","wd_txt":"S","tn":"12","tx":"18"}}}}

  • $json ist dann natürlichd er return von file_get_contents

  • Danke dir! Und wie mache ich das jetzt, das nach $json nicht die komplette Datei hin kommt sondern die URL??
    Sorry, wer lesen kann ist klar im Vorteil!

  • Supi, klappt alles, bis auf:


    Code
    1. Warning: file_get_contents(api.wetter.com/forecast/weather/city/DE0001007/project/flugsite/cs/ee6b92d3ddebbb13e3a114bb47b2f78d/output/json[function.file-get-contents]: failed to open stream: No such file or directory in/users/XXXX/www/wetter.php on line 61




    Habe folgenden Code:


    PHP
    1. <?php # works $json = file_get_contents('api.wetter.com/forecast/weather/city/DE0001007/project/flugsite/cs/ee6b92d3ddebbb13e3a114bb47b2f78d/output/json'); $x = json_decode($json); $datum = date("Y-m-d"); $windgeschwindigkeit = $x->city->forecast->$datum->ws;
    2. echo $windgeschwindigkeit; echo "<pre>"; print_r( $x ); ?>



    Kann das sein, das der Webspace irgend etwas nicht zulässt?

  • Achso, danke!


    Son scheiß :( Nutze immer zum testen bplaced, ist kostenlos. Wenn die Seite dann fertig ist hol ich mir immer nen richtigen Webspace.


    Code
    1. Warning: file_get_contents() [function.file-get-contents]: Zugriff via HTTP:// ist in Verbindung mit bplaced pro gegeben. Mehr Infos unter: http://www.bplaced.net/?handler=ext in/users/XXXX/www/wetter.php on line 61
    2. Warning: file_get_contents(HTTP://api.wetter.com/forecast/weather/city/DE0001007/project/flugsite/cs/ee6b92d3ddebbb13e3a114bb47b2f78d/output/json) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in/users/XXXX/www/wetter.php on line 61



    Da muss ich wohl in den sauren Apfel beißen :))

  • Hab das ganze jetzt mal in einen anderen Webspace geladen. Funktioniert aber irgendwie nicht. Es wird leider nichts angezeigt :(



    Ich habs in ne neue php datei gepackt- test.php


    Bekomme nur eine weiße Seite :(

  • Kommt auch nur eine leere Seite.


    Meintest du so?:


  • Hm, schade. Trotzdem danke.


    Muss jetzt mal gucken das das irgendwie doch klappt...
    Ist denn der Rest richtig? Mit dem $json und so?
    Habe jetzt mal ein echo $json unten hin gesetzt. Wird auch nichts angezeigt. Da stimmt irgend etwas anderes nicht....