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>