无法从亚马逊产品API响应中显示多个项目

时间:2016-03-06 07:35:34

标签: php api amazon-web-services amazon-product-api

我为特定的browseNodeId获取畅销商品。 xml响应有10个项目,但是当我打印/显示信息时,它只显示一个。请帮忙。

我的请求数组是:

    $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>";
  }

稍后,我只需打印“结果”&#39;使用echo命令。这种方法适用于所有其他请求/响应,即我得到&amp;显示10项没有任何问题。我找不到任何错误。请帮忙,我想显示10件而不仅仅是一件。

1 个答案:

答案 0 :(得分:0)

使用此

将XML对象转换为数组
$response = simplexml_load_file($request_url);
$json_string = json_encode($response);
$result = json_decode($json_string, TRUE);

然后使用 array [&#39; key&#39;] 语法访问元素。