pear

« divタグを閉じ忘れを無くす方法 | メイン | CSSでまず始めにやるコト »
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の一部を渡して実行してみると。


B00076QHQ8

木村カエラ
木村カエラ
DVD
<a class="keyword" href="http://d.hatena.ne.jp/keyword/saku%20saku">saku saku</a> Ver.1.0


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は属性も解析するオプション。

実行結果
文字コードUTF-8
はい。連想配列に格納されました。便利。便利。