Информация о сайте Alexa api в формате xml для значений php

Я пытаюсь использовать alexa api от amazon. Я хочу получить данные сайта.

Я создаю URL-адрес для получения данных, я получаю это в формате xml.

Когда я пытаюсь прочитать этот файл с помощью

$xml = simplexml_load_file('test.xml');
print_r($xml);

Я получаю только код "SimpleXMLElement Object()".

Как я могу получить данные на php из этого xml?

Часть XML-файла, который я получаю;

    <?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:RequestId>removed</aws:RequestId></aws:OperationRequest><aws:UrlInfoResult><aws:Alexa>

  <aws:TrafficData>
    <aws:DataUrl type="canonical">yahoo.com</aws:DataUrl>
    <aws:Rank>4</aws:Rank>
    <aws:UsageStatistics>
      <aws:UsageStatistic>
        <aws:TimeRange>

      <aws:Months>3</aws:Months>
    </aws:TimeRange>
    <aws:Rank>
      <aws:Value>4</aws:Value>
      <aws:Delta>0</aws:Delta>
    </aws:Rank>
    <aws:Reach>

      <aws:Rank>
        <aws:Value>4</aws:Value>
        <aws:Delta>0</aws:Delta>
      </aws:Rank>
      <aws:PerMillion>
        <aws:Value>228,260</aws:Value>
        <aws:Delta>-2.83%</aws:Delta>

      </aws:PerMillion>
    </aws:Reach>
    <aws:PageViews>
      <aws:PerMillion>
        <aws:Value>14,390</aws:Value>
        <aws:Delta>-10.59%</aws:Delta>
      </aws:PerMillion>
      <aws:Rank>

person directory    schedule 07.02.2012    source источник
comment
Вам следует ознакомиться с документацией SimpleXMLElement, чтобы получить обзор вариантов доступа к данным этот класс.   -  person Henrik Opel    schedule 07.02.2012


Ответы (1)


это более или менее то, что вам нужно:


    $xml = new SimpleXMLElement($response, null, false, 'http://awis.amazonaws.com/doc/2005-10-05');
    if(count($xml)) 
    {
        $info = (string)$xml->TrafficData->DataUrl->Alexa;
    }

заметки:

  • я подаю в пространстве имен: «http://avis.amazonaws.com/doc/2005-10-05»
  • связать путь к нужному элементу, где $xml — корневой элемент.
  • привести элемент к строке, чтобы получить его текстовый узел
person Francis Yaconiello    schedule 07.02.2012