使用simplexml_load_file解析XML文件将返回空对象

rav*_*dev 3 php xml simplexml

 <?xml version="1.0" ?> 
  <aws:UrlInfoResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
   <aws:Response xmlns:aws="http://awis.amazonaws.com/doc/2005-07-11">
    <aws:OperationRequest>
    </aws:OperationRequest>
    <aws:UrlInfoResult>
     <aws:Alexa>
      <aws:TrafficData>
       <aws:DataUrl type="canonical">google.com/</aws:DataUrl> 
       <aws:Rank>1</aws:Rank> 
      </aws:TrafficData>
     </aws:Alexa>
    </aws:UrlInfoResult>
    <aws:ResponseStatus xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
     <aws:StatusCode>Success</aws:StatusCode> 
    </aws:ResponseStatus>
   </aws:Response>
  </aws:UrlInfoResponse>
Run Code Online (Sandbox Code Playgroud)

我要解析的是这个xml文档的排名.在尝试的同时,我正在做的是......

        $xml= simplexml_load_file("path of the file saved");
        echo $xml->Response->UrlInfoResult->Alexa->TrafficData->Rank;
Run Code Online (Sandbox Code Playgroud)

但我这样做是错误的.比如说

 Notice: Trying to get property of non-object in C:\wamp\www\SEO Stats[Only Testing]\Tools\web_worth.php on line 13
Run Code Online (Sandbox Code Playgroud)

错误就在这一行

 echo $xml->Response->UrlInfoResult->Alexa->TrafficData->Rank;
 this line is referred as line no 13..
Run Code Online (Sandbox Code Playgroud)

Emi*_*ary 9

解析器返回一个空对象,因为根据文档,您必须指定前缀命名空间 - 例如,您希望使用类似的内容:

simplexml_load_file('/path/to/file.xml', null, null, 'aws', true);
Run Code Online (Sandbox Code Playgroud)

工作实例