Written by Manabu Bannai

【PHP】RSSフィードのXMLをJSONに変換する方法

PHP PROGRAMMING

RSSでXMLを取得して、JSON形式に変換するPHPスクリプトです。
なんかWebサービス作るときとかに便利かなと思いコード公開しておきます。

RSSフィードのXMLからJSONデータを取得するPHPスクリプト

下記のとおりです。

<?php

// RSSフィードのパス
$RSSpath = "https://manablog.org/feed";

// SimpleXMLElementとは、xmlの構文解析するクラスです
$XML = new SimpleXMLElement($RSSpath,0,true);

// XML形式データをjsonに変換
$json = json_encode($XML);

// jsonデータを表示する
echo $json;

尚、この状態でスクリプト実行すると下記の感じになります。

【PHP】RSSフィードのXMLをJSONに変換する方法
上記写真では、JSONを見やすくするために、JSONViewというChrome拡張機能を使っています。

JSONデータをjson_decodeして、表示するスクリプト

先ほどのスクリプトの続きです。

// jsonデータをPHPで扱える形に変換する
$json_decode = json_decode($json);

// jsonデータ内の『channel->title』部分を表示
echo $json_decode->channel->title;
echo "<br>";

// jsonデータ内の『item』部分を複数取得して、postsに格納
$posts = $json_decode->channel->item;

// postsに格納したデータをループしつつ表示する
foreach ($posts as $post) {
	echo $post->title;
	echo "<br>";
}

以上で完了。
コードをまとめると下記のとおりです。

<?php

// RSSフィードのパス
$RSSpath = "https://manablog.org/feed";

// SimpleXMLElementとは、xmlの構文解析するクラスです
$XML = new SimpleXMLElement($RSSpath,0,true);

// XML形式データをjsonに変換
$json = json_encode($XML);

// jsonデータを表示する
echo $json;

// jsonデータをPHPで扱える形に変換する
$json_decode = json_decode($json);

// jsonデータ内の『channel->title』部分を表示
echo $json_decode->channel->title;
echo "<br>";

// jsonデータ内の『item』部分を複数取得して、postsに格納
$posts = $json_decode->channel->item;

// postsに格納したデータをループしつつ表示する
foreach ($posts as $post) {
	echo $post->title;
	echo "<br>";
}

# 関連
» PHPでjson形式データを出力する – しぶてぃーぶろぐ

※P.S:無料メルマガで発信中:過去の僕は「ブログ発信で5億円」を稼ぎました。次は「30億円」を目指します。挑戦しつつ、裏側の思考を「メルマガ」から発信します。不満足なら1秒で解約できます。無料登録は「こちら」です。