2014/05/01

【PHP】XMLで取得したデータをJSON形式に変換する方法

【PHP】XMLで取得したデータをJSON形式に変換する方法

ブログやニュースサイトの情報を,RSSのXMLデータを取得することが多いと思います.XMLのデータをPHPで整形する場合はそのままでも問題ありませんが,PHPを使ってAjax通信のクロスドメインに対応する方法のように,JavaScriptを使ってデータを受け渡す場合にはJSON形式のほうが断然扱いやすいと言えます.

そこで今回は,PHPでXMLデータをJSON形式に変換する方法を紹介します.

目次

ソースコード

RSSデータを取得し,JSON形式で出力する方法は以下のようになります.

$RSSpath = "http://www.hp-stylelink.com/news/atom.xml";

$XML = new SimpleXMLElement($RSSpath,0,true);
$json = json_encode($XML);

echo $json;

SimpleXMLElementクラスを使って,XMLオブジェクトを作成します.

URLからSimpleXMLElementオブジェクトを生成する場合は,第一引数にURL第二引数に0第三引数にtrueを指定し,さらにキーワードにnewを指定してインスタンスとします.

作成したXMLオブジェクトをjson_encode関数を使用してJSON型に変換します.

これで,取得したXMLデータをJSON型に変換することが出来ます.

まとめ

この方法を使用することで,JSON型のコンテンツを取得することが出来ます.

PHPを使ってAjax通信のクロスドメインに対応する方法と合わせて利用すれば,Ajaxにも対応出来るので,困った時には使用してみてください.

Google Feed APIを利用するとさらに簡単に出来るので,次回以降に紹介したいと思います.