スマートフォンやhtml5+CSS3など新技術に四苦八苦。jQuery、AjaxなどJavaScriptも難しいですね。そんなWebに悩む人のネタ帳です。

PHPではRSSなどXMLデータを読み込む時に、SimpleXMLを使うことがあります。
今回、そのSimpleXML形式のデータを配列に変換する必要があったので、調査していました。

少し調べてみると、SimpleXMLのデータを再帰的にループすることで配列に整形するロジックを見つけました。また、その他にいくつかライブラリが公開されているようです。

なるべく簡単な方法を求めていたのですが、どうもPHP標準でそのような変換関数は用意されていないようです。

そんな中でも、一度JSONコードに変換することで配列を得る方法を見つけました。
以下は、このブログのRSSをSimpleXML形式に読み込んだ後、Array形式に変換するサンプルコードです。

$xml = simplexml_load_string('http://helog.jp/feed/atom/');
$array = json_decode(json_encode($xml), true);

ただしこの場合、XMLデータの値は変換できても、属性は失われるようなので、注意が必要です。

シンプルな方法ではあるので、属性を無視できるケースでは重宝しそうです。

このエントリーをはてなブックマークに追加

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search