simplexml_load_file错误/警告处理不起作用

时间:2013-10-16 18:06:20

标签: php

我遇到以下问题:

$xml4 = simplexml_load_file($fulllink4, 'SimpleXMLElement', LIBXML_NOWARNING);

$ fulllink4是动态生成的。有时在$ fulllink4中生成的URL格式不正确,我收到如下错误:

Warning: simplexml_load_file(http://xxxx.com): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in D:\xxxx.php on line 90

我已经通过添加“,'SimpleXMLElement',LIBXML_NOWARNING)阅读了该内容;”部分到它应该抑制任何错误的行,但它没有。

有谁知道如何完全抑制该行生成的所有错误?

提前谢谢你。

2 个答案:

答案 0 :(得分:1)

试试这个:

$xml4 = simplexml_load_file($fulllink4, 'SimpleXMLElement', LIBXML_NOWARNING & LIBXML_NOERROR);

也可能(可能)正在生成您正在看到的错误/警告 早在实际解析XML之前(即,在获取阶段,很可能是通过PHP的标准流包装器,即file_get_contents()等)

你可能应该看一下:http://www.php.net/manual/en/simplexml.examples-errors.php

答案 1 :(得分:1)

可以使用@来抑制错误,但这被认为是一个坏主意。

if($xml4 = @simplexml_load_file($fulllink4, 'SimpleXMLElement', LIBXML_NOWARNING)){
    // all other references to $xml4
}