Reputation: 629
I'm using simplexml_load_file in php to retrieve an XML contents via HTTP.
Here my code:
if ($xml = simplexml_load_file($url)) {
$item_list = $xml->xpath("/probabile_formazione/titolari/calciatore");
foreach ($item_list as $item) {
echo $item . ' ';
}
}
if I use the $url = "http://www.gazzetta.it/ssi/2011/boxes/calcio/squadre/cagliari/formazione/formazione.xml"; it works but if I use the $url = "http://www.gazzetta.it/ssi/2011/boxes/calcio/squadre/atalanta/formazione/formazione.xml"; I've got this error:
[Thu Sep 04 16:37:01 2014] [error] [client 127.0.0.1] PHP Warning: simplexml_load_file(): http://www.gazzetta.it/ssi/2011/boxes/calcio/squadre/atalanta/formazione/formazione.xml:1: parser error : Start tag expected, '<' not found in /var/www/fanta/prova1.php on line 42 [Thu Sep 04 16:37:01 2014] [error] [client 127.0.0.1] PHP Warning: simplexml_load_file(): \x1f\x8b\b in /var/www/fanta/prova1.php on line 42 [Thu Sep 04 16:37:01 2014] [error] [client 127.0.0.1] PHP Warning: simplexml_load_file(): ^ in /var/www/fanta/prova1.php on line 42
Could you help me? Thanks pasquy73
Upvotes: 0
Views: 122
Reputation: 375
I think the response xml was malformed. You should handle possible errors of getting correct xml such as :
<?
$url = "http://www.gazzetta.it/ssi/2011/boxes/calcio/squadre/atalanta/formazione/formazione.xml";
libxml_use_internal_errors(true);
if ($xml = simplexml_load_file($url)) {
$item_list = $xml->xpath("/probabile_formazione/titolari/calciatore");
foreach ($item_list as $item) {
echo $item . ' ';
}
}
else {
foreach (libxml_get_errors() as $error) {
print_r($error);
}
libxml_clear_errors();
}
?>
Upvotes: 1