xml in lezen
Ik heb het volgende probleem ik lees met een php bestand een xml bestand uit dat lukt ook
Maar sommige data wil ik uitlezen maar ik weet niet hoe dat moet het gaat om het volgende.
bij de het xml bestand staat bij de tag "verwachting"
dagnaam
dag
maandnaam
maand
jaar
datum
hoe kan ik deze data ingelezen krijgen in mijn php bestand.
xml bestand:
<Vijfdaagseverwachting aanmaakdatum="20061013" aanmaaktijd="09:31">
<Plaatsen>
<Plaats naam="Landelijk">
<Verwachtingen>
<Verwachting dagnaam="vrijdag" dag="13" maandnaam="oktober" maand="10" jaar="2006" datum="20061013">
<minimumtemperatuur>9</minimumtemperatuur>
<maximumtemperatuur>17</maximumtemperatuur>
<windrichting>nno</windrichting>
<windsnelheid>2-3</windsnelheid>
<weersymbool>C</weersymbool>
<weersomschrijving>zwaar bewolkt</weersomschrijving>
</Verwachting>
</Verwachtingen>
</Plaats>
</Plaatsen>
</Vijfdaagseverwachting>
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
<?php
function parseXmlFile($filename, $identifier) {
$data = implode("",file($filename));
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($parser,$data,$values,$tags);
xml_parser_free($parser);
foreach ($tags as $key=>$val) {
if ($key == $identifier) {
$molranges = $val;
for ($i=0; $i < count($molranges); $i+=2) {
$offset = $molranges[$i] + 1;
$len = $molranges[$i + 1] - $offset;
$tdb[] = parseArray(array_slice($values, $offset, $len));
}
}
else {
continue;
}
}
return $tdb;
}
function parseArray($mvalues) {
for ($i=0; $i < count($mvalues); $i++) {
$mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
}
return $mol;
}
function genPost($Verwachting) {
$entry = "";
$entry .="<td><b><font face='Verdana' size='2'>" . $Verwachting["dagnaam"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["minimumtemperatuur"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["maximumtemperatuur"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["windrichting"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["windsnelheid"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["weersymbool"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["weersomschrijving"] . "</b><br /></td>\n";;
return $entry;
}
function xml2String() {
$xmlcontent = parseXmlFile("5daagse.xml", "Verwachting");
$return_str = "";
foreach ($xmlcontent as $verwachting) {
$return_str .= genPost($verwachting);
}
return "$return_str";
}
echo"<table><tr>";
echo(xml2String());
echo"</tr></table>"
?>
function parseXmlFile($filename, $identifier) {
$data = implode("",file($filename));
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($parser,$data,$values,$tags);
xml_parser_free($parser);
foreach ($tags as $key=>$val) {
if ($key == $identifier) {
$molranges = $val;
for ($i=0; $i < count($molranges); $i+=2) {
$offset = $molranges[$i] + 1;
$len = $molranges[$i + 1] - $offset;
$tdb[] = parseArray(array_slice($values, $offset, $len));
}
}
else {
continue;
}
}
return $tdb;
}
function parseArray($mvalues) {
for ($i=0; $i < count($mvalues); $i++) {
$mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
}
return $mol;
}
function genPost($Verwachting) {
$entry = "";
$entry .="<td><b><font face='Verdana' size='2'>" . $Verwachting["dagnaam"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["minimumtemperatuur"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["maximumtemperatuur"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["windrichting"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["windsnelheid"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["weersymbool"] . "</b><br />\n";
$entry .="<b><font face='Verdana' size='2'>" . $Verwachting["weersomschrijving"] . "</b><br /></td>\n";;
return $entry;
}
function xml2String() {
$xmlcontent = parseXmlFile("5daagse.xml", "Verwachting");
$return_str = "";
foreach ($xmlcontent as $verwachting) {
$return_str .= genPost($verwachting);
}
return "$return_str";
}
echo"<table><tr>";
echo(xml2String());
echo"</tr></table>"
?>
Er zijn nog geen reacties op dit bericht.