PEAR::XML_Serializer で Amazon からの XML をパース
XML を解析する方法は色々とありますが一番簡単お手軽そうな「XML_Serializer」を使ってみる。
このライブラリはベータ版なので(2006年2月現在)PEAR の初期設定ではインストールできません。で。以下のコマンドでベータ版でもインストールできるように設定。
% pear config-set preferred_state beta
ちなみにこのライブラリを使用するには「XML_Parser」と「ML_Util」も必要なので入ってなかったらこれらを先にインストールしましょう。
% pear install XML_Serializer
使い方は至って簡単。XML_Unserializer クラスにパラメータをセットして XML データを渡せば連想配列にしてくれます。前回で取得した XML の一部を渡して実行してみると。
< ?php require_once 'XML/Unserializer.php'; $xml = <<<XML <Item> <asin>B00076QHQ8</asin> <itemattributes> <actor>木村カエラ</actor> <creator Role="アーティスト">木村カエラ</creator> <productgroup>DVD</productgroup> <title>saku saku Ver.1.0</title> </itemattributes> XML; $Unserializer =& new XML_Unserializer(); $Unserializer->setOption('parseAttributes', TRUE); $status = $Unserializer->unserialize($xml); if (PEAR::isError($status)) { die($status->getMessage());} $products=$Unserializer->getUnserializedData(); print_r($products); ?>
parseAttributes は属性も解析するオプション。はい。連想配列に格納されました。便利。便利。