2014-02-10 14 views
0

Я бегу локон запрос и возвращает ниже:XML Data - Как получить доступ к

Array 
(
    [@attributes] => Array 
     (
      [exp_cid] => 0BqO 
     ) 

    [REQUEST] => Array 
     (
      [@attributes] => Array 
       (
        [type] => RETURN 
        [subtype] => CALLBUR 
        [EXP_ExperianRef] => 
        [success] => Y 
        [timestamp] => Mon, 10 Feb 2014 at 10:28 AM 
        [id] => 0BqO 
       ) 

      [MB01] => Array 
       (
        [@attributes] => Array 
         (
          [seq] => 01 
         ) 

        [DATEOFTRANSACTION] => 20100901 
        [VRM] => MYREG 
        [VINCONFIRMATIONFLAG] => 0 
        [ENGINECAPACITY] => 01360 
        [DOORPLAN] => 14 
        [DATEFIRSTREGISTERED] => 20041007 
        [YEAROFMANUFACTURE] => 2004 
        [SCRAPPED] => 0 
        [EXPORTED] => 0 
        [IMPORTED] => 0 
        [MAKE] => PEUGEOT 
        [MODEL] => 307 ENVY 90 
        [COLOUR] => BLACK 
        [TRANSMISSION] => MANUAL 5 GEARS 
        [ENGINENUMBER] => EE 
        [VINSERIALNUMBER] => VF 
        [DOORPLANLITERAL] => 5 DOOR HATCHBACK 
        [MVRISMAKECODE] => L1 
        [MVRISMODELCODE] => BJJ 
        [DTPMAKECODE] => L1 
        [DTPMODELCODE] => 892 
        [TRANSMISSIONCODE] => M 
        [GEARS] => 5 
        [FUEL] => PETROL 
        [CO2EMISSIONS] => 155 
        [USEDBEFORE1STREG] => 0 
        [IMPORTNONEU] => 0 
        [UKDATEFIRSTREGISTERED] => 20041007 
        [MAXPERMISSIBLEMASS] => 01639 
        [MAXNETPOWER] => 085 
        [MAXTRAILERWEIGHTBRAKED] => 01000 
        [MAXTRAILERWEIGHTUNBRAKED] => 00620 
        [SOUNDLVLSTATIONARY] => 079 
        [SOUNDLEVELENGINESPEED] => 03938 
        [SOUNDLVLDRIVEBY] => 71 
        [SEATINGCAPACITY] => 005 
        [MASSINSERVICE] => 000001245 
        [MAKEMODEL] => PEUGEOT 307 ENVY 90 
       ) 

      [MB37] => Array 
       (
        [@attributes] => Array 
         (
          [seq] => 01 
         ) 

        [V5CDATACOUNT] => 02 
        [V5CDATAITEMS] => Array 
         (
          [0] => Array 
           (
            [DATE] => 20090825 
           ) 

          [1] => Array 
           (
            [DATE] => 20041007 
           ) 

         ) 

       ) 

     ) 

) 

Я struggiling, чтобы получить доступ к возвращению, я попытался следующие, но она не возвращается ничего:

foreach ($xml->REQUEST->MB01 as $requestData) { 

echo $requestData; 

} 

Моя другая проблема в зависимости от автомобиля рег он будет возвращать разные блоки MB, там далеко, чтобы вернуть их, если они будут возвращены.

Спасибо.

EDIT

Это полный код, который я бегу, когда он бежал все, что я получаю < Означает ли это что-нибудь?

$ch = curl_init($URL); 
curl_setopt($ch, CURLOPT_MUTE, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch); 
curl_close($ch); 

echo $output[0]['REQUEST']['MB01']['DATEOFTRANSACTION']; 

Cheers guys.

+0

Ну, вы пытаетесь получить доступ к элементам массива с обозначением оо. Это не сработает, вы должны получить сообщение об ошибке. Попробуйте получить доступ к ним в нотации массива: '$ xml ['REQUEST'] ['MB01']'. – arkascha

+0

спасибо @arkascha, это ничего не возвращает - я что-то упускаю? – WebDevB

+0

Вы сделали print_r ($ xml)? –

ответ

0

Возврат - это массив, а не объект. Попробуйте следующее:

foreach ($xml['REQUEST']['MB01'] as $requestData) { 

    if(is_array($requestData) { 
     print_r($requestData); 
    } else { 
     echo $requestData; 
    } 

} 
+0

Спасибо ncrocfer, это ничего не возвращает ничего ... Я что-то упустил. – WebDevB

+0

Странно .. Что такое возврат 'print_r ($ xml)'? – ncrocfer

+0

Ничего, я просто получаю < – WebDevB

Смежные вопросы