Home > API × PHP > Amazon Web サービスの使い方(4) - 取得したXMLの構造

Amazon Web サービスの使い方(4) - 取得したXMLの構造

さて、前回はリクエストURLの生成までをプログラミングしましたが、今回は受け取ったXMLファイルの構造の説明をしたいと思います。

Amazon Web サービスでは、実に多くの製品情報を受け取ることができ、それらを利用することで、本家 Amazon とほぼ同様の機能を持ったサイトを作ることも可能です。

ただし、全てのデータを常に受け取るわけではなく、データを受け取る際に ResponseGroup というパラメータで、受け取る情報を選択することが出来るようなっています。

そのようにして Aazon から受け取ったXMLファイルは、Amazon 独自のタグによって形成されており、それらのタグの意味を理解する必要があります。

今回は特に、取っ付きやすいタグに注目していきますが、より詳しい情報は、Amazon のマニュアル(英文)に記載されています。また、取得したXMLを見れば、タグの意味はだいたい見当が付くと思います。


受け取った XML は、おおよそ以下のような構造になっています。

<ItemSearchResponse>
  <OperationRequest>
    リクエスト内容
  </OperationRequest>
  <Items>
    <Request>
      <IsValid>True ならばリクエスト成功。False ならばリクエスト失敗。</IsValid>
      <ItemSearchRequest>
        商品検索に関するリクエスト内容
      </ItemSearchRequest>
    </Request>
    <TotalResults>ヒットした商品数</TotalResults>
    <TotalPages>総ページ数</TotalPages>
    <Item>
      個別商品1の情報
    </Item>
    <Item>
      個別商品2の情報
    </Item>
        ・
        ・
    (見つかった商品の数だけ続く)
  </Items>
</ItemSearchResponse>

また、個別商品( タグ内)の構造は、おおよそ以下のようになっています。

<Item>
  <ASIN>ASIN番号</ASIN>
  <DetailPageURL>詳細ページのURL</DetailPageURL>
  <SmallImage>
    <URL>小さい画像のURL</URL>
  </SmallImage>
  <MediumImage>
    <URL>中くらいの画像のURL</URL>
  </MediumImage>
  <LargeImage>
    <URL>大きい画像のURL</URL>
  </LargeImage>
  <ItemAttributes>
    <ListPrice>
      <FormattedPrice>価格</FormattedPrice>
    </ListPrice>
    <Manufacturer>メーカー</Manufacturer>
    <Title>タイトル</Title>
  </ItemAttributes>
</Item>

このXMLファイルをどうやって扱いやすいデータにするかが、(多分)APIを利用する上で最も肝心な所であり、最も頭を悩ませる所でもあります。その為、XMLの構文解析(パースなんて呼ばれています)の方法は実に多種多様です。

が、結論から言ってしまうと、XML形式で受け取ったデータは、連想配列に格納することで、非常に扱いやすいデータとなります。

ということで次回は、XMLを連想配列に格納する方法について説明したいと思います。

Tags :
Amazon?Xml?Api?Php??

カテゴリ「API × PHP」の最新記事

カテゴリ「API × PHP」 の全ての記事を読む

「amazon」に関連する商品を...

Home > API × PHP > Amazon Web サービスの使い方(4) - 取得したXMLの構造

Search
Feeds

Page Top