我正在尝试使用simplexml解析以下XML ...
但是只要我添加一行......
$xml = simplexml_load_file('http://datapoint.metoffice.gov.uk/public/data/txt/wxfcs/regionalforecast/xml/500?key=ed47ad61-5033-48c8-bf7c-6c4c0b17c3f3');
我得到了错误,如
namespace warning : xmlns: URI www.metoffice.gov.uk/xml/metoRegionalFcst is not absolute
我似乎无法解决如何解决这个问题。
答案 0 :(得分:9)
只需在simplexml_load_file
之前添加@喜欢
$ xml = @simplexml_load_file('http://datapoint.metoffice.gov.uk/public/data/txt/wxfcs/regionalforecast/xml/500?key=ed47ad61-5033-48c8-bf7c-6c4c0b17c3f3');
答案 1 :(得分:0)
libxml_use_internal_errors(true);
$xml = simplexml_load_file($file->getTempName());
us3.php.net/manual/es/function.simplexml-load-file.php
us3.php.net/manual/es/function.libxml-use-internal-errors.php
us3.php.net/manual/es/simplexml.examples-errors.php
答案 2 :(得分:0)
基本上,因为这只是来自 PHP 的警告,您可以通过执行任何适合您的方法来抑制它。
可能是其中之一
1.@simplexml_load_string($response)
:` PHP 支持一种错误控制操作符:at 符号 (@) 表示更多 https://www.php.net/manual/en/language.operators.errorcontrol.php。
2.simplexml_load_string($response,'SimpleXMLElement', LIBXML_NOWARNING);
https://github.com/AuthorizeNet/sdk-php/issues/135
答案 3 :(得分:0)
如果对你有帮助,你可以做下一件事情
// Set the url of your XML file
$XmlPath = resource_path('xml/').'mifile.xml';
//Parse the XML file, dont forget use the "Nowarning lib" and "Compact" those are so usefull
$Codes = simplexml_load_file ( $XmlPath , 'SimpleXMLElement' , LIBXML_NOWARNING | LIBXML_COMPACT , null , false );