在Amazon Product Advertising API上搜索不同的书籍时,为什么会得到不同的标签/元素结果?

时间:2017-08-07 21:08:41

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

使用亚马逊的API时,是否有人遇到过不同的xml标签/元素结果?如果是,如果不同书籍之间有什么不同,我如何获得我想要的信息?

案例: 我正在努力获得我正在查找的书籍页数。在大多数情况下,它可以使用以下xml fetch:

$base->Items->Item->ItemAttributes->NumberOfPages

然而,当我用ISBN 0743234804搜索图书时,我需要查询以下内容以获取页码:

 $base->Items->Item[1]->ItemAttributes->NumberOfPages

这是非常不可靠的,尤其是在有其他情况下。你怎么解决这个问题?

**更新了问题 - 更改了可生成正确页面信息的查询**

1 个答案:

答案 0 :(得分:0)

显然,同一本书可能有多种不同类型(精装/软包/点燃?),因此亚马逊将提供多种标签。

问题是其中一些标签没有所有的ItemAttributes。但是他们允许的是我想要的NumberOfPages。

解决方案:  只需遍历标签并检查它是否具有NumberOfPages元素,如果有,则将其分配给变量:

for ($i=0; $i < 7; $i++) {
    if(@$base->Items->children()[$i]->ItemAttributes->NumberOfPages){
         $amazonprice = @$base->Items->children()[$i]->ItemAttributes->NumberOfPages;
    }
}