PHP致命错误:对非对象调用成员函数attributes()

PHP致命错误:对非对象调用成员函数attributes(),php,Php,我有一个alexa等级检查脚本。有时我会犯这样的错误 PHP致命错误:调用 第14行/home/trackman/public_html/scan.php中的非对象 在我的脚本中,第13行和第14行是 $xml = simplexml_load_file('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url); $rank=(int)$xml->SD[1]->POPULARITY->attributes

我有一个alexa等级检查脚本。有时我会犯这样的错误

PHP致命错误:调用 第14行/home/trackman/public_html/scan.php中的非对象

在我的脚本中,第13行和第14行是

$xml = simplexml_load_file('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url);
$rank=(int)$xml->SD[1]->POPULARITY->attributes()->TEXT;
我已经试过了,但问题仍然存在。解决此问题的正确方法是什么

if (strlen($rank)<1) { $rank = "unknown"; }

如果(strlen($rank)当给定的URL无效时,那么将没有
$xml->SD[1]->流行度的数据
。因此,在使用它之前必须检查它

if($url){
    $xml = simplexml_load_file('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url);

    if($xml  &&  $xml->SD[1]->POPULARITY ){
        $rank=(int)$xml->SD[1]->POPULARITY->attributes()->TEXT;
    }else{
        echo "Not Valid XML";
    }
}else{
    echo "URL NOT Found";
}
这是给我的。也许这和你的URL有关?你能给我们看看你用来测试它的URL吗?