WEB/システム/IT技術ブログ

PHPのSimpleXMLを配列(array)に変換する

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

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

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

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

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

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

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

B!

Comment

コメントはありません

コメントする

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives