Добрый день, недавно заказал скрипт парсинга погоды с xml. Собственно сам скрипт вот:
<?php
function parseData(){
$content = file_get_contents("http://xml.meteoservice.ru/export/gismeteo/point/37.xml");
$xmlParser = new SimpleXMLElement($content);
return $xmlParser;
}
function getAttributes($xml){
$ret = array();
foreach($xml->attributes() as $key=>$value) {
$ret[$key] = $value;
}
return $ret;
}
$mmweather = parseData();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>gismeteo parser</title>
<!-- Bootstrap -->
<link href="/css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<![endif]-->
</head>
<body>
<div class="container">
<h1>Wheather</h1>
<?php $town = getAttributes($mmweather->REPORT->TOWN) ?>
<h3>Town: <?php print urldecode($town["sname"]);?></h3>
<table class="table table-hover table-responsive">
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<?php foreach($mmweather->REPORT->TOWN->FORECAST as $forecast) : ?>
<tr>
<?php $attr = getAttributes($forecast);?>
<td colspan="4"><?php print $attr["day"]; ?>.<?php print $attr["month"]; ?>.<?php print $attr["year"]; ?>
at <?php print $attr["hour"]; ?>:00</td>
</tr>
<tr>
<td><?php $temp = getAttributes($forecast->TEMPERATURE); ?> TEMPERATURE: <?php print $temp["min"];?> - <?php print $temp["max"];?></td>
<td><?php $press = getAttributes($forecast->PRESSURE); ?> PRESSURE: <?php print $press["min"];?> - <?php print $press["max"];?></td>
<td><?php $wind = getAttributes($forecast->WIND); ?> WIND: <?php print $wind["min"];?> - <?php print $wind["max"];?></td>
<td><?php $relwet = getAttributes($forecast->RELWET); ?> RELWET: <?php print $relwet["min"];?> - <?php print $relwet["max"];?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php
/*print "<pre>";
print_r($mmweather);
print "</pre>";*/
?>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<!-- Include all compiled plugins (below), or include individual files as needed -->
</body>
</html>
</html>
Я убрал все лишнее кроме php и получилось вот:
function parseData(){
$content = file_get_contents("http://xml.meteoservice.ru/export/gismeteo/point/37.xml");
$xmlParser = new SimpleXMLElement($content);
return $xmlParser;
}
function getAttributes($xml){
$ret = array();
foreach($xml->attributes() as $key=>$value) {
$ret[$key] = $value;
}
return $ret;
}
$mmweather = parseData();
$town = getAttributes($mmweather->REPORT->TOWN)
print urldecode($town["sname"]);
foreach($mmweather->REPORT->TOWN->FORECAST as $forecast) :
$attr = getAttributes($forecast);
print $attr["day"]; .print $attr["month"]; . print $attr["year"];
at print $attr["hour"];
$temp = getAttributes($forecast->TEMPERATURE); TEMPERATURE: print $temp["min"]; - print $temp["max"];
$press = getAttributes($forecast->PRESSURE); PRESSURE: print $press["min"]; - print $press["max"];
$wind = getAttributes($forecast->WIND); WIND: print $wind["min"];- print $wind["max"];
$relwet = getAttributes($forecast->RELWET); RELWET: print $relwet["min"]; - print $relwet["max"];
endforeach;
Но когда вставляю этот сниппет, то у меня вместо сайта белый экран. Подскажите что не так?