Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Parsiranje xml fajla sa servera

[es] :: PHP :: Parsiranje xml fajla sa servera

[ Pregleda: 1580 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nezki
Miodrag Lapcevic
Beograd

Član broj: 101503
Poruke: 438
212.62.53.*

Sajt: www.websolutions.co.rs


Profil

icon Parsiranje xml fajla sa servera19.03.2007. u 21:15 - pre 208 meseci
Pokusavam da isparsiram jedan xml fajl koji se nalazi na adresi http://informer.gismeteo.ru/xml/13274_1.xml na gismeteo sajtu.
Hteo sam da iskoristim ovaj xml fajl da pokupim podatke o vremenskoj prognozi.
Planirao sam da ga parsiram skriptom ciji se kod nalazi ovde ali dolazi do sledece greske.
Da li neko moze da mi pomogne i objasni zasto?
Warning: fopen() [function.fopen]: php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\wamp\www\xml\www_xml.php on line 6

Warning: fopen(http://informer.gismeteo.ru/xml/13274_1.xml) [function.fopen]: failed to open stream: No error in C:\wamp\www\xml\www_xml.php on line 6

Warning: feof(): supplied argument is not a valid stream resource in C:\wamp\www\xml\www_xml.php on line 8
.
.
.
Code:

<?php
$file="http://informer.gismeteo.ru/xml/13274_1.xml";

$xml_parser = xml_parser_create();

$handle = fopen($file, "rb");
$contents = '';
while (!feof($handle)) {
  $data .= fread($handle, 8192);
}
fclose($handle);

xml_parse_into_struct($xml_parser, $data, $vals, $index);
xml_parser_free($xml_parser);

$params = array();
$level = array();
foreach ($vals as $xml_elem) {
  if ($xml_elem['type'] == 'open') {
   if (array_key_exists('attributes',$xml_elem)) {
     list($level[$xml_elem['level']],$extra) = array_values($xml_elem['attributes']);
   } else {
     $level[$xml_elem['level']] = $xml_elem['tag'];
   }
  }
  if ($xml_elem['type'] == 'complete') {
   $start_level = 1;
   $php_stmt = '$params';
   while($start_level < $xml_elem['level']) {
     $php_stmt .= '[$level['.$start_level.']]';
     $start_level++;
   }
   $php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';
   eval($php_stmt);
  }
}

echo "<pre>";
print_r ($params);
echo "</pre>";
?>
 

P.s.
Da li neko mozda ima neko gotovu skriptu KOJA 100% RADI za vremensku prognozu i bio bi rad da je podeli sa drugarima sa foruma bilo bi super :) jer ja imam bar 20 skripti koje sam skinuo sa neta i odavde sa foruma i sve sam ih sredjivao i doradivao ali bas nijedna ne radi.
Poz svima
djLapac
 
Odgovor na temu

[es] :: PHP :: Parsiranje xml fajla sa servera

[ Pregleda: 1580 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.