PHPでxmlファイルを読み込んでみる
PHPのsimplexmlを利用して、
XMLファイルを読み込んで情報を出力させてみます。
更新したブログの情報を別のサイトやトップページに表示させたい時などに便利です。
サンプルで下記を読み込んでみます。
[sample.xml]
<?xml version="1.0" encoding="utf-8"?>
<rss>
<channel>
<item>
<title>テスト01</title>
<link>URL01</link>
</item>
<item>
<title>テスト02</title>
<link>URL02</link>
</item>
<item>
<title>テスト03</title>
<link>URL03</link>
</item>
</channel>
</rss>
[テンプレート]
simplexml_load_file関数を利用して読み込みます。
※simplexml_load_file関数はPHP5が利用できるサーバーで利用できます。
<?
$xml = "sample.xml";//ファイルを指定
$xmlData = simplexml_load_file($xml);//xmlを読み込む
?>
<ul>
<? foreach ($xmlData->channel->item as $data) { ?>
<li>
<p>
<a href="<? echo $data->link; ?>"><? echo $data->title; ?></a>
</p>
</li>
<? } ?>
</ul>
[出力結果]
<ul>
<li>
<p>
<a href="URL01">テスト01</a>
</p>
</li>
<li>
<p>
<a href="URL02">テスト02</a>
</p>
</li>
<li>
<p>
<a href="URL03">テスト03</a>
</p>
</li>
</ul>
・応用で当ブログのFeedを読み込んでみます。 [Tips Note Feed] https://www.tam-tam.co.jp/tipsnote/feed
[テンプレート]
<?
$xml = "https://www.tam-tam.co.jp/tipsnote/feed";
$xmlData = simplexml_load_file($xml);
?>
<ul>
<? foreach ($xmlData->channel->item as $data) { ?>
<li>
<p>
<a href="<? echo $data->link; ?>"><? echo $data->title; ?></a>
</p>
<p>[Category]</p>
<ul>
<? foreach ($data->category as $cate) { ?>
<li><? echo $cate; ?></li>
<? } ?>
</ul>
</li>
<? } ?>
</ul>
[出力結果]
<ul>
<li>
<p>
<a href="https://www.tam-tam.co.jp/tipsnote/cms/post4110.html">
【Movable Type】MT6の新機能、Data APIを試してみる
</a>
</p>
<p>[Category]</p>
<ul>
<li>CMS</li>
<li>Data API</li>
<li>Movable Type</li>
</ul>
</li>
<li>
<p>
<a href="https://www.tam-tam.co.jp/tipsnote/javascript/post4084.html">
ベンダープレフィックスを調整してくれるgrunt-autoprefixer
</a>
</p>
<p>[Category]</p>
<ul>
<li>JavaScript</li>
</ul>
</li>
<li>
<p>
<a href="https://www.tam-tam.co.jp/tipsnote/program/post4067.html">
PHP の array_merge() や array_recursive() 等の違いをまとめました
</a>
</p>
<p>[Category]</p>
<ul>
<li>Program</li>
<li>PHP</li>
</ul>
</li>
<li>
<p>
<a href="https://www.tam-tam.co.jp/tipsnote/program/post4025.html">
TwitterAPI 1.1でリツイートランキングを作る
</a>
</p>
<p>[Category]</p>
<ul>
<li>Program</li>
<li>API</li>
<li>SNS</li>
<li>Twitter</li>
</ul>
</li>
-省略-
</ul>


