xml in lezen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bram

Bram

19/05/2007 19:04:00
Quote Anchor link
Hallo,

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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?xml version="1.0" encoding="ISO-8859-1"?>

<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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>"

?>
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.