28. december 2013 - 12:27Der er
11 kommentarer og 1 løsning
XML fra vejrstation kan ikke parses i PHP
Hej alle. Vidste ikke helt om jeg skulle poste dette iunder PHP eller i XML, men nu forsøger jeg i denne kategori, eftersom jeg i PHP har et problem med at parse følgende XML:
Jeg ved godt, at xml-filen ikke er helt fornuftig da den bl.a. mangler "<?xml version="1.0" encoding="UTF-8"?>" men principielt burde det vel ikke være et større problem.
XML-filen er genereret via WUHU ( et softwareprogram til brug for forskellige typer af vejrstationer, men jeg har via følgende PHP-script ikke kunnet formå, at læse noget som helst ud:
<?php
// Her checker jeg om det overhovedet kan lade sig gøre på serveren da jeg kun har PHP4
if (! ($xmlparser = xml_parser_create ()) ) { die ("Cannot create parser"); }
$filename = "weatherreport.xml"; if (!($fp = fopen ($filename, "r"))) { die ("Problem med ".$filename); } while ($data = fread ($fp, 4096)){ $data=eregi_replace (">"."[[:space:]]+"."< ",">< ",$data); if (!xml_parse ($xmlparser, $data, feof ($fp))) { $reason = xml_error_string (xml_get_error_code ($xmlparser)); $reason .= xml_get_current_line_number ($xmlparser); die ($reason); } } xml_parser_free ($xmlparser);
function start_tag($parser, $name, $attribs) { echo "Nuværende tag : ".$name."<br />"; if (is_array ($attribs)) { echo "Data : <br />"; while(list($key,$val) = each ($attribs)) { echo "Data ".$key." har værdien ".$val."<br />"; } } }
?>
så jeg er langsomt, men sikkert ved, at give op. Det er en ung teenager, der har fået en vejrstation i julegave og nu sidder vi her ( og kan ikke andet ) uden mulighed for, at komme videre i teksten, hvilket selvfølgelig ærgrer mig.
Vil derfor virkelig være superglad, såfremt nogen eller nogle, lige har en løsning til, hvordan værdierne kan udlæses ved anvendelse af PHP. Det skal i parantes bemærkes, at jeg desværre ikke er nogen "haj" til PHP, men jeg har en nogenlunde fornemmelse, blot ikke i ovennævnte ;)
CUDOS herfra. Nu spiller det næsten som en solskinsdag. Har dog en lille hage som jeg ikke helt ved, hvad skyldes, da jeg ikke er voldsomt meget inde i XML, men antager, at det er en slags childnode, nærmere bestem den variabel der "hedder" trend.
Koden har jeg modificeret lidt i begyndelsen, da jeg ikke har XML'en inde i PHP-scriptet, så det foreløbigt ser således ud:
OK, men if ($yourlocation == mylocation){ $beer = ($beer + $beer) }
Tusinde tak herfra
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.