Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA:

PHP: meteohub-xml auslesen 15 Mai 2010 10:09 #161358

  • benz
  • benzs Avatar Autor
  • Besucher
  • Besucher
Hallo zusammen

Die weatherBoxx legt auf meinen Server alle paar Minuten eine XML-Datei ab. Diese von der weatherBoxx ausgegebene XML-Datei sieht so aus (gekürzt):

<meteohub>
<config>
<language>de</language>
<temp_sensor unit="c" print="°C">th0</temp_sensor>
<hum_sensor unit="rel" print="%">th0</hum_sensor>
<dew_sensor unit="c" print="°C">th0</dew_sensor>
<baro_sensor unit="hpa" print="hPa">thb0</baro_sensor>
<wind_sensor unit="kmh" print="km/h">wind0</wind_sensor>
<rain_sensor unit="mm" print="mm">rain0</rain_sensor>
<row number="1">last60m</row>
<row number="2">last24h</row>
<row number="3">day1</row>
<row number="4">month1</row>
</config>
<data timeframe="actual">
<item sensor="th0" cat="temp" unit="c">4.5</item>
<item sensor="th0" cat="temp" unit="f">40.1</item>
</data>
</meteohub>


Das von mir gemachte PHP-File öffnet die XML-Datei:
<?php
$wetterdaten = simplexml_load_file('meteohub/all-sensors-xml.xml');?>

Das klappt meines Erachtens so auch.

Aber nun kann ich nicht auf die einzelnen Werte zugreifen. Dies mache ich so, aber etwas ist falsch:
<?php echo $wetterdaten->data->item->cat->unit; ?>


Es wird kein Fehler ausgegeben, sondern einfach nichts ausgegeben...

Kann mir da jemand auf die Sprünge helfen? Danke! :-)
Gruss benz

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 10:12 #161359

  • Markus Brotschi
  • Markus Brotschis Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 6927
  • Dank erhalten: 47
Salü Bruno

Kick mal Oli an, der ist inzwischen PHP und Typo3 Crack.

Er hat ein heisses Script geschrieben!

http://www.leimentalerwetter.ch/meteohub/werbebannerquer.php

Grüsse

Kusi

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 10:14 #161360

  • benz
  • benzs Avatar Autor
  • Besucher
  • Besucher
Ist das der Oli, der sich im meteohub-Forum "haol" nennt? Diesen Oli habe ich dort angekickt, aber noch keine Antwort erhalten.

Danke für den Tipp!

Gruss
Bruno

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 12:19 #161365

  • Oli
  • Olis Avatar
  • Besucher
  • Besucher
Hallo Benz,

also zuerst must du mal die XML genau anschauen, und dies machst du mit dem kleine PHP Code am besten:

<?php
$filename = 'http://......datenxml.xml';
$xml = simplexml_load_file($filename); //Lädt die XML-Datei in ein


// Füg das hier mal ein und rufe das Script auf, sollte dir helfen.
print_r($xml);
?>


so wenn du das script aufrufst wird dir einiges klar.

Also Wichtig ist hier die Unterscheidung zwischen Array und SimpleXMLElement Object (bzw. generell Objekten). Auf Array-Werte greifst du mit
[...] zu und auf Attibute von Objekten mit
->


echo $xml->data[0]->item[0];

Hoffe so geholfen zuhaben.

Gruss Oli

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 12:42 #161367

  • benz
  • benzs Avatar Autor
  • Besucher
  • Besucher
Ich habe deinen Code nun in eine Webseite eingehängt... Aber ich komme beim besten Willen nicht darauf, was ich hier rauslesen muss!

http://www.onurb.net/wetter/meteohub_testxml.php

Ich sehe hier buchstäblich vor lauter Bäumen den Wald nicht mehr...

Gruss benz

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 12:53 #161368

  • Oli
  • Olis Avatar
  • Besucher
  • Besucher
Hoi also als Beispiel die Aktuelle Temp:



echo $xml->data[0]->item[83];



ich bin leider nicht zu Hause sonst könnte ich dir das xml file etwas genauer zur ansicht senden..

gruss Oli

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 12:55 #161369

  • benz
  • benzs Avatar Autor
  • Besucher
  • Besucher
Doch jetzt habe ich die Idee! Aber das ist ja obermühsam! Ich konnte mal die automatische Prognose auswerten.

echo "Wert: ".$wetterdaten->data[0]->item[81]."- Fertig.";


Den Wert [81] rauszusuchen, war ja einfach, aber wie ich die anderen 200'000 Werten voneinander unterscheide, ist mir nicht ganz klar!

Auf jeden Fall bin ich nun ein Stückchen weiter!

Danke für die Hilfe, Oli!

Gruss benz

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 14:12 #161370

  • Oli
  • Olis Avatar
  • Besucher
  • Besucher
Hoi Benz,
ok ich habe hier noch eine cödlein der das XML etwas übersichtlicher darstellt.
So kannst du das ganze Ausdrucken, dann geht es etwas besser.


<?php
$xml = simplexml_load_file('http://....datenxml.xml');
echo '<pre>';
print_r($xml);
echo '</pre>';
?>


So nochmals zu erklärung:

->data[0]->item[83]

data gibt dir das array an: Im [0] sind die Aktuellen Wetterdaten, im item[83]
sind die Werte drin.

Nun für 1 day also 24 Stunden ist dann data[1]->item[??]

Wenn du dir das xml mit dem obigen Code anschaust wirst du dann sehen.

ok hoffe jetzt das es etwas verständlicher ist.:gruebel:
gruss Oli

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 14:33 #161371

  • benz
  • benzs Avatar Autor
  • Besucher
  • Besucher
Hoi Oli

Mit dem Code ist es tatsächlich viel übersichtlicher Danke. Jetzt mache ich mich mal daran. Die Webseite umzuorganisieren.

Nochmals herzlichen Dank für deine Hilfe!

Viele Grüsse
Bruno

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 17:42 #161374

  • benz
  • benzs Avatar Autor
  • Besucher
  • Besucher
So, meine Wetterseite wetter.onurb.net konnte nun zum grossen Teil fertiggestellt werden. Dank Oli ist es mir gelungen, die Daten nun über ein XML File in einer PHP-Seite darzustellen.
Der Weg dahin war ziemlich harzig! Da es unglaublich viele Werte gibt, kann die Orientierung rasch einmal verloren geht.

Ich habe ein PDF gemacht mit allen meteohub-Variablen drin. Mit Hilfe dieses Dokumentes ist es nun wesentlich einfacher die richtigen Werte zu finden:
$wetterdaten->data[0]->item[81]


Ihr findet es im ZIP-Container. Wer weiss? Vielleicht kann das Dokument dem einen oder anderen helfen.

Gruss
Bruno

Attached files xml-Auswertung_meteohub.pdf.zip (91.5 KB)Â

Bitte Anmelden um der Konversation beizutreten.

PHP: meteohub-xml auslesen 15 Mai 2010 18:08 #161375

  • Tobias Ferrari
  • Tobias Ferraris Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 3267
  • Dank erhalten: 11
Jesses Bruno!

Besten Dank für diese Übersicht, da stehen ja x-100 Werte zur Verfügung! :O
Das wird schon etwas Rechenzeit brauchen, diese alle jede Minute neu zu berechnen...

Gruss
Tobias

Bitte Anmelden um der Konversation beizutreten.

Der Weise sagt nicht alles was er denkt, aber er denkt alles was er sagt.
www.wetterstation-wohlen.ch

PHP: meteohub-xml auslesen 15 Mai 2010 18:47 #161377

  • Oli
  • Olis Avatar
  • Besucher
  • Besucher
Hoi Tobias,
das ist ja das coole an diesem xml, es steht alles drin was man braucht. Die xml wird in sekunden abgearbeit, man spürt nichts das es irgendwie am rattern wäre.

Vielen Dank noch an Benz für das PDF wollte es gerade auch machen.

Gruss Oli :)

Bitte Anmelden um der Konversation beizutreten.

  • Seite:
  • 1
Moderatoren: Markus Brotschi
Ladezeit der Seite: 0.185 Sekunden
Zum Seitenanfang
JSN Boot template designed by JoomlaShine.com