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形式データを出力する – しぶてぃーぶろぐ

ブロガー向け:シンプルで美しいWordPressテーマを販売しています

» ミニマリスト向けのWordPressテーマ『Minimal』を作りました

おすすめ: SEOで最も重要な『キーワード選定方法』をまとめました。

» SEOキーワード選定する方法。具体的に5つの手順で解説します。