我在php中使用simplexml_load_file通过HTTP检索XML内容。
这是我的代码:
if ($xml = simplexml_load_file($url)) {
$item_list = $xml->xpath("/probabile_formazione/titolari/calciatore");
foreach ($item_list as $item) {
echo $item . ' ';
}
}
如果我使用$ url =" http://www.gazzetta.it/ssi/2011/boxes/calcio/squadre/cagliari/formazione/formazione.xml&#34 ;; 它有效,但如果我使用$ url =" http://www.gazzetta.it/ssi/2011/boxes/calcio/squadre/atalanta/formazione/formazione.xml&#34 ;; 我有这个错误:
[Thu Sep 04 16:37:01 2014] [error] [client 127.0.0.1] PHP警告:simplexml_load_file():http://www.gazzetta.it/ssi/2011/boxes/calcio/squadre/atalanta/formazione/formazione.xml:1:解析器错误:开始预期标记,'<& #39;在第42行的/var/www/fanta/prova1.php中找不到 [2014年9月4日16:37:01] [错误] [客户端127.0.0.1] PHP警告:第42行/var/www/fanta/prova1.php中的simplexml_load_file():\ x1f \ x8b \ b [2014年9月4日16:37:01] [错误] [客户端127.0.0.1] PHP警告:simplexml_load_file():^ / 42/42 / /// / a / www下的/var/www/fanta/prova1.php
你可以帮帮我吗? 谢谢 pasquy73答案 0 :(得分:1)
我认为响应xml格式不正确。您应该处理获取正确xml的可能错误,例如:
<?
$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();
}
?>