警告:simplexml_load_file()[function.simplexml-load-file]:I / O 警告:无法加载外部实体 “USD_en_productdata / USD_en_productdata.xml”
代码
$src=simplexml_load_file("USD_en_productdata/USD_en_productdata.xml");
foreach($src->ProductItem as $i){
}
答案 0 :(得分:6)
如果您尝试加载服务器上保存的xml,请尝试传递完整目录路径
simplexml_load_file($_SERVER['DOCUMENT_ROOT'].'/uproYourFoldet/USD_en_productdat/USD_en_productdata.xml')
或者如果你想通过http协议访问xml,你需要在php.ini或
中设置allow_url_fopen ONini_set('allow_url_fopen ','ON');
你的代码中的。或者如果你使用的是php版本< 5
,你也可以这样做$temp = file_get_contents($url);
$XmlObj = simplexml_load_string($temp);
答案 1 :(得分:2)
看起来您的路径可能不正确。
根据我的经验,最好使用带有file_exists(...)作为条件的if语句来包围simplexml_load_file和后续函数。
所以在你的情况下:
if(file_exists($_SERVER['DOCUMENT_ROOT'].'/yourPathToFile/...')) {
simplexml_load_file($_SERVER['DOCUMENT_ROOT'].'/urltoYourFolder/USD_en_productdat/USD_en_productdata.xml')
}
编辑:拼写