Php 如何控制从外部源加载XML文件
我在一个新项目中,需要从其他web服务加载XML文件并处理它们的内容 外部服务也在发展中,因此与之合作有点滞后 现在,我用这种方式:Php 如何控制从外部源加载XML文件,php,xml,Php,Xml,我在一个新项目中,需要从其他web服务加载XML文件并处理它们的内容 外部服务也在发展中,因此与之合作有点滞后 现在,我用这种方式: if (fopen(Constants::XML_AUTH . $this->xmlString, "r") == true) { $this->xmlDom = simplexml_load_file( Constants::XML_AUTH . $this->xmlString,
if (fopen(Constants::XML_AUTH . $this->xmlString, "r") == true) {
$this->xmlDom = simplexml_load_file(
Constants::XML_AUTH . $this->xmlString,
'SimpleXMLElement');
if (!$this->xmlDom) {
$this->setStatus(Constants::XML_NOTLOADED);
}
else {
$this->setStatus($this->xmlDom->status);
$this->setType();
}
}
只要外部Web服务正在运行并响应,这就可以正常工作。
但是一旦延迟,simplexml_load_file()函数就会使用整个脚本的所有时间,尝试从源代码加载,最后脚本返回一个漂亮的白色屏幕
所以我想知道是否有可能控制时间,脚本必须加载外部XML,如果不成功,打印错误
或者是否有更好的方法使用PHP安全地加载外部XML文件?
我在这个项目上使用symfony1.4
我将第一个选项与stream_get_contents()结合使用。这绝对是一个进步。非常感谢!明亮的更新答案,感谢您的反馈。另外:使用xmlreader的荣誉,这无疑是php5的一个晦涩难懂且令人敬畏的特性。