Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用外部XML时出现PHP致命错误_Php_Xml - Fatal编程技术网

使用外部XML时出现PHP致命错误

使用外部XML时出现PHP致命错误,php,xml,Php,Xml,我有一个php脚本,它为我们的购物评分加载一个xml文件 <?php $xml=simplexml_load_file("https://www.kiyoh.nl/xml/recent_company_reviews.xml?xxxxx"); echo "<span itemprop='rating' itemscope itemtype='https://data-vocabulary.org/Rating'>Beoordeling: <span itemprop='

我有一个php脚本,它为我们的购物评分加载一个xml文件

<?php
$xml=simplexml_load_file("https://www.kiyoh.nl/xml/recent_company_reviews.xml?xxxxx");

echo "<span itemprop='rating' itemscope itemtype='https://data-vocabulary.org/Rating'>Beoordeling: <span itemprop='average'>";
 foreach($xml->children() as $average)
{
echo $average->total_score;
}
echo "</span>/<span itemprop='best'>10</span></span>";
echo " - <span itemprop='votes'>";
foreach($xml->children() as $total_review)
{
    echo $total_review->total_reviews;
}
echo "</span> stemmen";
?>
我认为这与无法访问xml文件有关。 但是这个脚本位于页面的顶部,所以剩下的就不再下载了

有没有办法绕过它?当它无法连接时?那么网站将一直可见

更新15-08-2014 我使用此脚本在外部站点读取我的评级。 有时我无法访问外部站点。。。但当这种情况发生时,我的网站就会出现致命错误


自动传递此脚本的代码应该是什么?

将代码封装在一个简单的if语句中,该语句检查$xml是否为空。:)因此,如果无法读取文件,页面仍将加载,但没有xml功能。 祝你好运

添加

<?php
$xml=simplexml_load_file("https://www.kiyoh.nl/xml/recent_company_reviews.xml?xxxxx");
if (! empty($xml)) {
  //Your code here

} else {
   Echo "There is something wrong getting my xml file. Please try again later";
}

您不应该依赖其他网站的XML文件。如果结构要更改怎么办?您是否尝试过foreach($xml as$average)并在$xml变量中获得了内容?是否应该是这样:
if(!empty($xml)){}否则{echo“检查simplexml是否加载文件()当您无法获取文件时,返回empty或FALSE,这样您就知道要检查什么。如果它返回FALSE,您就不能使用empty进行检查,它将始终转到else语句。
<?php
$xml=simplexml_load_file("https://www.kiyoh.nl/xml/recent_company_reviews.xml?xxxxx");
if (! empty($xml)) {
  //Your code here

} else {
   Echo "There is something wrong getting my xml file. Please try again later";
}