Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
如果不正确,PHP重复XML请求_Php_Xml_Simplexml_File Get Contents - Fatal编程技术网

如果不正确,PHP重复XML请求

如果不正确,PHP重复XML请求,php,xml,simplexml,file-get-contents,Php,Xml,Simplexml,File Get Contents,我使用的是一个file_get_contents和一个新的simplexmlement($xml),其中我正在提取的xml有时会出现如下错误标志。我希望循环请求,直到不再显示错误消息并存储XML。我已经设置了解析。但我不知道如何使用SimplexmlElements执行文件内容的循环。我得到的错误是 错误 是否有方法循环获取文件内容,直到满足XML中的条件,然后使用没有错误的当前XML?您可以执行循环: while( !is_object($xml) || $tryAgain){ $

我使用的是一个file_get_contents和一个新的simplexmlement($xml),其中我正在提取的xml有时会出现如下错误标志。我希望循环请求,直到不再显示错误消息并存储XML。我已经设置了解析。但我不知道如何使用SimplexmlElements执行文件内容的循环。我得到的错误是

错误

是否有方法循环获取文件内容,直到满足XML中的条件,然后使用没有错误的当前XML?

您可以执行循环:

while( !is_object($xml) || $tryAgain){
    $xml = simplexml_load_file(rawurlencode('http://www.example.com/yourxml.xml'));
    if(is_object($xml->error)){
        $tryAgain = true;
        sleep(10);
    }else{
        $tryAgain = false;
    }
}
关于睡眠,请参见以下答案:

simplexml\u load\u file
也可以加载URL,请参阅,因此您不需要
文件\u get\u内容