2016-03-06 43 views
0

我正在爲特定browseNodeId提取最暢銷商品。 xml響應有10個項目,但當我打印/顯示信息時,它只顯示一個。請幫忙。無法顯示亞馬遜產品API響應中的多個項目

我的請求陣列爲:

$params = array(
    "Service" => "AWSECommerceService", 
    "Operation" => "BrowseNodeLookup", 
    "AWSAccessKeyId" => "", 
    "AssociateTag" => "", 
    "BrowseNodeId" => "6386372011", 
    "ResponseGroup" => "TopSellers" 
); 

(我打消了我的ID是故意)

,這是如何我解析XML響應:

$response = simplexml_load_file($request_url); 
    foreach($response->BrowseNodes->BrowseNode as $item) 
    { 
    $topItem = $item->TopItemSet->TopItem->Title; 
    $itemURL = $item->TopItemSet->TopItem->DetailPageURL; 
    $itemID = $item->TopItemSet->TopItem->ASIN; 


    $results .= "<tr><td><a href=\"$itemURL\">$topItem</a></td><td>$itemID</td></tr>"; 
    } 

後來我」 m只需使用echo命令打印'$ results'。這種方法適用於所有其他請求/響應,即我得到&顯示10項沒有任何問題。我找不到任何錯誤。請幫助,我想顯示10個項目不只是一個。

回答

0

轉換的XML對象置於陣列使用該

$response = simplexml_load_file($request_url); 
$json_string = json_encode($response); 
$result = json_decode($json_string, TRUE); 

,然後訪問使用陣列[ '鍵']語法的元素。

+0

嘿謝謝,但它沒有奏效。早些時候xml響應有所需的數據,但使用這種方法它沒有得到任何回報。因此我改變了我的方法,現在使用了javaScript。 – Anmol