cr: wetter xml auslesen

hallo,

ich möchte die open wheater xml schnittstelle auslesen und weiterverarbeiten.

dazu habe ich folgende xml:

http://api.wetter.com/forecast/weather/city/DE0001020/project/homesystem/cs/8d6c52da2f9ac7674f7e673ed84d684d

diese habe ich lokal abgespeichert und versuche diese auszulesen, leider komme ich nicht weiter. ich möchte z.b. [p] oder [w] auslesen und weiß nicht wie ich da hin komme?

das hab ich bis jetzt mal in php probiert:

if(file_exists($filename))
{
$xml = simplexml_load_file($filename);
foreach($xml->forecast->date[0] as $date)
{
print_r($date);
}
echo "<br><br>";
foreach($xml->forecast->date[0]->time[1] as $date1)
{
print_r($date1);
}
}

dadurch erhalte ich also zum einen alle datei angezeigt und einmal nur von heute 11 uhr, aber wie kkomme ich an die daten von heute 11 uhr?

danke für eure hilfe!

  1. Hallo,

    wie sieht die xml aus? und was willst du haben?

    Gruß

    jobo

    1. Hallo,

      wie sieht die xml aus? und was willst du haben?

      das wiird ausgegeben:

      SimpleXMLElement Object ( [0] => 1262322000 ) SimpleXMLElement Object ( [0] => 1262325600 ) SimpleXMLElement Object ( [0] => 2010-01-01 05:00 ) SimpleXMLElement Object ( [0] => 2010-01-01 06:00 ) SimpleXMLElement Object ( [0] => 24 ) SimpleXMLElement Object ( [0] => 85 ) SimpleXMLElement Object ( [0] => 16.7 ) SimpleXMLElement Object ( [@attributes] => Array ( [value] => 06:00 ) [du] => 1262322000 [d] => 1262325600 [dhu] => 2010-01-01 05:00 [dhl] => 2010-01-01 06:00 [p] => 5 [pc] => 85 [tn] => -3 [tx] => -3 [ws] => 16.7 ) SimpleXMLElement Object ( [@attributes] => Array ( [value] => 11:00 ) [du] => 1262340000 [d] => 1262343600 [dhu] => 2010-01-01 10:00 [dhl] => 2010-01-01 11:00 [p] => 6 [pc] => 85 [tn] => -3 [tx] => -3 [ws] => 14.8 ) SimpleXMLElement Object ( [@attributes] => Array ( [value] => 17:00 ) [du] => 1262361600 [d] => 1262365200 [dhu] => 2010-01-01 16:00 [dhl] => 2010-01-01 17:00 [p] => 6 [pc] => 80 [tn] => -3 [tx] => -3 [ws] => 13 ) SimpleXMLElement Object ( [@attributes] => Array ( [value] => 23:00 ) [du] => 1262383200 [d] => 1262386800 [dhu] => 2010-01-01 22:00 [dhl] => 2010-01-01 23:00 [p] => 7 [pc] => 85 [tn] => -3 [tx] => -2 [ws] => 13 )

      SimpleXMLElement Object ( [0] => 1262340000 ) SimpleXMLElement Object ( [0] => 1262343600 ) SimpleXMLElement Object ( [0] => 2010-01-01 10:00 ) SimpleXMLElement Object ( [0] => 2010-01-01 11:00 ) SimpleXMLElement Object ( [0] => 6 ) SimpleXMLElement Object ( [0] => 85 ) SimpleXMLElement Object ( [0] => -3 ) SimpleXMLElement Object ( [0] => -3 ) SimpleXMLElement Object ( [0] => 14.8 )

      und ich möchte jeweils nur z.b. aus dem ersten block den inhalt von [tx] haben.

      1. Hallo,

        das sieht ja recht wirr aus. tx ist ein attribut, oder? du tust ggf. dir und eventuellen ratgebern einen gefallen, wenn du das etwas vor vorstrukturierst. zB. die rohdaten mal kurz analysierst bzw. (mit absätzen) darstellst.

        mit ->xpath() kommst du u.U. schnell zum ziel. oder du läufst mit foreach durch und checkst nach deiner bedingung. das liest sich im xml-dokument besser ab, was du da genau haben willst und wie man daran kommt.

        Gruß

        jobo