呵呵,你有它在你的问题:continue;
是跳过循环的剩余部分,并开始下一次迭代的命令。在$ doc-> loadXML上进行错误检查,如果没有成功加载,则返回continue;
。
所以:
foreach($users as $user)
{
$doc = new DOMDocument();
$loaded = $doc->loadXml(file_get_contents($user["syncUrl"])); //Should return false on failure, true on success
if($loaded === false)
{
continue;
}
//Do other stuff here if successfully loaded.
}
也可能是明智的使用DOMDocument::validate()
验证(从DTD)格式和continue
如果无效。您还可以使用DOMDocument::schemaValidateSource()
来提供源架构,并使用DOMDocument::schemaValidate()
来验证该架构的格式。你也可以这样做是为了让它在负载验证:
$doc = new DOMDocument();
$doc->validateOnParse = true;
$doc->loadXML('etc');
这可能会需要有加载函数返回false,如果该文件的东西居然有。
它的工作原理,但我想跳过休息,因为现在其他错误,因为$文档的显示 – Karem 2012-01-08 01:04:48
得到什么的' - > loadXml'函数返回,看看它是否是'FALSE',就像凤凰在他的回答中说。 – 2012-01-08 01:11:54