2017-08-07 10 views
0

amazonのAPIを使用しているとき、誰かが異なるxmlタグ/要素の結果を経験しましたか?はいの場合は、書籍と異なる場合はどのようにして情報を得ることができますか?Amazon Product Advertising APIでさまざまな書籍を検索すると、異なるタグ/要素の結果が表示されるのはなぜですか?

ケース: 私が探している本のページ数を取得しようとしています。

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

を私はISBN 0743234804で本を検索する場合しかし、私はページ番号を取得するには、以下を照会する必要があります:ほとんどの部分については、それがフェッチ次のXMLでいい作品

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

これは、特に他のケースがある場合は、非常に信頼性がありません。あなたはこの問題についてどうやって行くのですか?

**質問更新 - アマゾン**

+0

ではない '$ベース - >項目 - >アイテム - > ItemAttributes ... '' $ base-> Items-> Item [0] - > ItemAttributes ... 'と同じですか?そうであれば、XMLを調べて最初のアイテム要素が必要な場合がある理由と2番目のアイテム要素が必要な場合があるかどうかを判断することで問題に答える必要があります。そうすれば、プログラム的に見える適切な場所を見つけることができます。 –

答えて

0

どうやら、それ故にそこに同じ本(?ハードカバー/ソフトカバー/キンドル)の複数の異なる種類であってもよく、正しいページ情報を生成するクエリを変更しますがの複数のタグを提供する。

問題は、これらのタグの一部にすべてのItemAttributesが含まれていないことです。しかし、私が望むNumberOfPagesを持つことができます。

ソリューション:それはNumberOfPages要素を持っている場合は、タグによる だけループとチェックし、それがその後、変数に割り当てない場合:

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