weer.nl xml php parsing
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <Vijfdaagseverwachting aanmaakdatum="20070526" aanmaaktijd="18:31">
- <Plaatsen>
- <Plaats naam="Ouddorp">
- <Verwachtingen>
- <Verwachting dagnaam="zondag" dag="27" maandnaam="mei" maand="5" jaar="2007" datum="20070527">
<minimumtemperatuur>12</minimumtemperatuur>
<maximumtemperatuur>15</maximumtemperatuur>
<windrichting>w</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>C</weersymbool>
<weersomschrijving>geheel bewolkt</weersomschrijving>
<zonneschijnduur>0</zonneschijnduur>
<neerslagkans>20</neerslagkans>
</Verwachting>
- <Verwachting dagnaam="maandag" dag="28" maandnaam="mei" maand="5" jaar="2007" datum="20070528">
<minimumtemperatuur>11</minimumtemperatuur>
<maximumtemperatuur>16</maximumtemperatuur>
<windrichting>wnw</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>C</weersymbool>
<weersomschrijving>zwaar bewolkt</weersomschrijving>
<zonneschijnduur>2</zonneschijnduur>
<neerslagkans>10</neerslagkans>
</Verwachting>
- <Verwachting dagnaam="dinsdag" dag="29" maandnaam="mei" maand="5" jaar="2007" datum="20070529">
<minimumtemperatuur>12</minimumtemperatuur>
<maximumtemperatuur>15</maximumtemperatuur>
<windrichting>w</windrichting>
<windsnelheid>4-5</windsnelheid>
<weersymbool>C</weersymbool>
<weersomschrijving>zwaar bewolkt</weersomschrijving>
<zonneschijnduur>4</zonneschijnduur>
<neerslagkans>10</neerslagkans>
</Verwachting>
- <Verwachting dagnaam="woensdag" dag="30" maandnaam="mei" maand="5" jaar="2007" datum="20070530">
<minimumtemperatuur>12</minimumtemperatuur>
<maximumtemperatuur>17</maximumtemperatuur>
<windrichting>zzw</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>E</weersymbool>
<weersomschrijving>buien</weersomschrijving>
<zonneschijnduur>5</zonneschijnduur>
<neerslagkans>40</neerslagkans>
</Verwachting>
- <Verwachting dagnaam="donderdag" dag="31" maandnaam="mei" maand="5" jaar="2007" datum="20070531">
<minimumtemperatuur>13</minimumtemperatuur>
<maximumtemperatuur>19</maximumtemperatuur>
<windrichting>zzw</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>B</weersymbool>
<weersomschrijving>half bewolkt</weersomschrijving>
<zonneschijnduur>6</zonneschijnduur>
<neerslagkans>30</neerslagkans>
</Verwachting>
</Verwachtingen>
</Plaats>
</Plaatsen>
</Vijfdaagseverwachting>
- <Vijfdaagseverwachting aanmaakdatum="20070526" aanmaaktijd="18:31">
- <Plaatsen>
- <Plaats naam="Ouddorp">
- <Verwachtingen>
- <Verwachting dagnaam="zondag" dag="27" maandnaam="mei" maand="5" jaar="2007" datum="20070527">
<minimumtemperatuur>12</minimumtemperatuur>
<maximumtemperatuur>15</maximumtemperatuur>
<windrichting>w</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>C</weersymbool>
<weersomschrijving>geheel bewolkt</weersomschrijving>
<zonneschijnduur>0</zonneschijnduur>
<neerslagkans>20</neerslagkans>
</Verwachting>
- <Verwachting dagnaam="maandag" dag="28" maandnaam="mei" maand="5" jaar="2007" datum="20070528">
<minimumtemperatuur>11</minimumtemperatuur>
<maximumtemperatuur>16</maximumtemperatuur>
<windrichting>wnw</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>C</weersymbool>
<weersomschrijving>zwaar bewolkt</weersomschrijving>
<zonneschijnduur>2</zonneschijnduur>
<neerslagkans>10</neerslagkans>
</Verwachting>
- <Verwachting dagnaam="dinsdag" dag="29" maandnaam="mei" maand="5" jaar="2007" datum="20070529">
<minimumtemperatuur>12</minimumtemperatuur>
<maximumtemperatuur>15</maximumtemperatuur>
<windrichting>w</windrichting>
<windsnelheid>4-5</windsnelheid>
<weersymbool>C</weersymbool>
<weersomschrijving>zwaar bewolkt</weersomschrijving>
<zonneschijnduur>4</zonneschijnduur>
<neerslagkans>10</neerslagkans>
</Verwachting>
- <Verwachting dagnaam="woensdag" dag="30" maandnaam="mei" maand="5" jaar="2007" datum="20070530">
<minimumtemperatuur>12</minimumtemperatuur>
<maximumtemperatuur>17</maximumtemperatuur>
<windrichting>zzw</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>E</weersymbool>
<weersomschrijving>buien</weersomschrijving>
<zonneschijnduur>5</zonneschijnduur>
<neerslagkans>40</neerslagkans>
</Verwachting>
- <Verwachting dagnaam="donderdag" dag="31" maandnaam="mei" maand="5" jaar="2007" datum="20070531">
<minimumtemperatuur>13</minimumtemperatuur>
<maximumtemperatuur>19</maximumtemperatuur>
<windrichting>zzw</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>B</weersymbool>
<weersomschrijving>half bewolkt</weersomschrijving>
<zonneschijnduur>6</zonneschijnduur>
<neerslagkans>30</neerslagkans>
</Verwachting>
</Verwachtingen>
</Plaats>
</Plaatsen>
</Vijfdaagseverwachting>
met code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<?
if (!isset($zipCode)){$zipCode = 90210;}
?>
<head>
<title>Nine Day Advance Forecast</title>
</head>
<body>
<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://www.klepperstee.com/5day_weather.xml");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$weather_input=curl_exec ($ch);
curl_close ($ch);
$weather_data = array();
$xml_current_tag_state = '';
$day_count = 0;
global $weather_data, $xml_current_tag_state;
function startElementHandler($parser,$element_name)
{
global $xml_current_tag_state;
$xml_current_tag_state = $element_name;
}
function endElementHandler($parser,$element_name)
{
global $day_count, $xml_current_tag_state;
if ($element_name == "VERWACHTING")
{
$day_count++;
}
$xml_current_tag_state = "";
}
function weatherDataHandler($parser, $data)
{
global $weather_data, $xml_current_tag_state, $day_count;
if($xml_current_tag_state == "")
return;
switch ($xml_current_tag_state)
{
case "DAGNAAM":
$weather_data[$day_count]["dagnaam"] = $data;
echo $data;
break;
case "DATUM":
$weather_data[$day_count]["datum"] = $data;
echo $data;
break;
case "WEERSYMBOOL":
$weather_data[$day_count]["weersymbool"] = $data;
echo $data;
break;
case "WEERSOMSCHRIJVING":
$weather_data[$day_count]["weersomschrijving"] = $data;
echo $data;
break;
case "MAXIMUMTEMPERATUUR":
$weather_data[$day_count]["maximumtemperatuur"] = $data;
break;
echo $data;
case "MINIMUMTEMPERATUUR":
$weather_data[$day_count]["minimumtemperatuur"] = $data;
echo $data;
break;
case "WINDRICHTING":
$weather_data[$day_count]["windrichting"] = $data;
echo $data;
break;
case "WINDSNELHEID":
$weather_data[$day_count]["windsnelheid"] = $data;
echo $data;
break;
default:
$xml_current_tag_state = $element_name;
break;
}
}
if (!($xml_parser = xml_parser_create()) )
die ("Couldn't create XML parser!");
xml_set_element_handler($xml_parser, "startElementHandler", "endElementHandler");
xml_set_character_data_handler($xml_parser, "weatherDataHandler");
xml_parse($xml_parser, $weather_input);
xml_parser_free($xml_parser);
echo "<h4>Weather for: $zipCode</h4>";
for ($i=0;$i <$day_count; ++$i)
{
echo "<p>";
echo "<img src=\"weersymbolen/weersymbolen/".$weather_data["weersymbool"].".jpg\" alt=\"".$weather_data["Forecast"]."\"><br>";
echo "Dag = ".$weather_data[$i]["dagnaam"]."<br>";
echo "Datum = ".$weather_data[$i]["datum"]."<br>";
echo "Weer = ".$weather_data[$i]["weersomschrijving"]."<br>";
echo "Max = ".$weather_data[$i]["maximumtemperatuur"]."<br>";
echo "Max = ".$weather_data[$i]["minimumtemperatuur"]."<br>";
echo "Windkracht = ".$weather_data[$i]["windsnelheid"]."<br>";
echo "</p>";
}
?>
</body>
</html>
<html>
<?
if (!isset($zipCode)){$zipCode = 90210;}
?>
<head>
<title>Nine Day Advance Forecast</title>
</head>
<body>
<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://www.klepperstee.com/5day_weather.xml");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$weather_input=curl_exec ($ch);
curl_close ($ch);
$weather_data = array();
$xml_current_tag_state = '';
$day_count = 0;
global $weather_data, $xml_current_tag_state;
function startElementHandler($parser,$element_name)
{
global $xml_current_tag_state;
$xml_current_tag_state = $element_name;
}
function endElementHandler($parser,$element_name)
{
global $day_count, $xml_current_tag_state;
if ($element_name == "VERWACHTING")
{
$day_count++;
}
$xml_current_tag_state = "";
}
function weatherDataHandler($parser, $data)
{
global $weather_data, $xml_current_tag_state, $day_count;
if($xml_current_tag_state == "")
return;
switch ($xml_current_tag_state)
{
case "DAGNAAM":
$weather_data[$day_count]["dagnaam"] = $data;
echo $data;
break;
case "DATUM":
$weather_data[$day_count]["datum"] = $data;
echo $data;
break;
case "WEERSYMBOOL":
$weather_data[$day_count]["weersymbool"] = $data;
echo $data;
break;
case "WEERSOMSCHRIJVING":
$weather_data[$day_count]["weersomschrijving"] = $data;
echo $data;
break;
case "MAXIMUMTEMPERATUUR":
$weather_data[$day_count]["maximumtemperatuur"] = $data;
break;
echo $data;
case "MINIMUMTEMPERATUUR":
$weather_data[$day_count]["minimumtemperatuur"] = $data;
echo $data;
break;
case "WINDRICHTING":
$weather_data[$day_count]["windrichting"] = $data;
echo $data;
break;
case "WINDSNELHEID":
$weather_data[$day_count]["windsnelheid"] = $data;
echo $data;
break;
default:
$xml_current_tag_state = $element_name;
break;
}
}
if (!($xml_parser = xml_parser_create()) )
die ("Couldn't create XML parser!");
xml_set_element_handler($xml_parser, "startElementHandler", "endElementHandler");
xml_set_character_data_handler($xml_parser, "weatherDataHandler");
xml_parse($xml_parser, $weather_input);
xml_parser_free($xml_parser);
echo "<h4>Weather for: $zipCode</h4>";
for ($i=0;$i <$day_count; ++$i)
{
echo "<p>";
echo "<img src=\"weersymbolen/weersymbolen/".$weather_data["weersymbool"].".jpg\" alt=\"".$weather_data["Forecast"]."\"><br>";
echo "Dag = ".$weather_data[$i]["dagnaam"]."<br>";
echo "Datum = ".$weather_data[$i]["datum"]."<br>";
echo "Weer = ".$weather_data[$i]["weersomschrijving"]."<br>";
echo "Max = ".$weather_data[$i]["maximumtemperatuur"]."<br>";
echo "Max = ".$weather_data[$i]["minimumtemperatuur"]."<br>";
echo "Windkracht = ".$weather_data[$i]["windsnelheid"]."<br>";
echo "</p>";
}
?>
</body>
</html>
Alles lukt behalve:
- <Verwachting dagnaam="zondag" dag="27" maandnaam="mei" maand="5" jaar="2007" datum="20070527">
deze gegevens moet ik waarschijnlijk anders oproepen ofzo?
Kan iemand me helpen???
Met vriendelijke groeten,
Jasper
Gewijzigd op 01/01/1970 01:00:00 door Jasper
Dan zien we wel weer verder...
$weather_data[$i]["dagnaam"]
of misschien is het array in array
$weather_data[$i]["Verwachting"]["dagnaam"]
sucses verder
Groetjes,
Jasper
Bedankt webmakerij, dat van die code weergave wist ik nog niet. Het staat nu goed.
$weather_data[$i]["Verwachting"]["dagnaam"]
Doet niks.
Groetjes,
Jasper
Hoe krijg ik uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
- <Vijfdaagseverwachting aanmaakdatum="20070526" aanmaaktijd="18:31">
- <Plaatsen>
- <Plaats naam="Ouddorp">
- <Verwachtingen>
- <Verwachting dagnaam="zondag" dag="27" maandnaam="mei" maand="5" jaar="2007" datum="20070527">
<minimumtemperatuur>12</minimumtemperatuur>
<maximumtemperatuur>15</maximumtemperatuur>
<windrichting>w</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>C</weersymbool>
<weersomschrijving>geheel bewolkt</weersomschrijving>
<zonneschijnduur>0</zonneschijnduur>
<neerslagkans>20</neerslagkans>
</Verwachting>
- <Plaatsen>
- <Plaats naam="Ouddorp">
- <Verwachtingen>
- <Verwachting dagnaam="zondag" dag="27" maandnaam="mei" maand="5" jaar="2007" datum="20070527">
<minimumtemperatuur>12</minimumtemperatuur>
<maximumtemperatuur>15</maximumtemperatuur>
<windrichting>w</windrichting>
<windsnelheid>3-4</windsnelheid>
<weersymbool>C</weersymbool>
<weersomschrijving>geheel bewolkt</weersomschrijving>
<zonneschijnduur>0</zonneschijnduur>
<neerslagkans>20</neerslagkans>
</Verwachting>
de dagnaam met php?
met bijvoorbeeld minimumtemperatuur lukt het wel, wat moet er anders?
Iemand moet het toch weten.
Groetjes,
Jasper
Dat weet ik wel
$item->Verwachting[1];
Alleen wat wordt bedoelt met
Plaatst eerst eens
Dan zien we wel weer verder...
Hoe ziet dat eruit?
Gewijzigd op 01/01/1970 01:00:00 door maat
Zo, wat denk je? Ik bump even een bericht uit mei 2007?