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 は属性も解析するオプション。はい。連想配列に格納されました。便利。便利。