使用亚马逊的API时,是否有人遇到过不同的xml标签/元素结果?如果是,如果不同书籍之间有什么不同,我如何获得我想要的信息?
案例: 我正在努力获得我正在查找的书籍页数。在大多数情况下,它可以使用以下xml fetch:
$base->Items->Item->ItemAttributes->NumberOfPages
然而,当我用ISBN 0743234804搜索图书时,我需要查询以下内容以获取页码:
$base->Items->Item[1]->ItemAttributes->NumberOfPages
这是非常不可靠的,尤其是在有其他情况下。你怎么解决这个问题?
**更新了问题 - 更改了可生成正确页面信息的查询**
答案 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;
}
}