RSS(RDF Site Summary) とは、サイトのようやくを、
タイトル、リンク、簡素な説明などの要素によって表します。
各記事は項目(item)を表す要素内に整理されます。
今回はDOMを使って、このブログのRSSファイルからデータを取り出してみます。
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>DOMでRSSを使う</title> <link rel="stylesheet" href="../style.css"> </head> <body> <table border="2"> <?php $doc = new DOMDocument; $doc->load("http://vesna-memo.com/?feed=rss2"); $list = $doc->getelementsByTagName("item"); foreach( $list as $node ){ echo "<tr>"; echo "<td>" . $node->nodeValue . "</td>"; echo "</tr>"; } ?> </table> </body> </html> |
getElementsByTagName()メソッドによって、「item」要素を取り出し、
この要素のノードの値を順に出力することで、RSS内の各記事の項目の内容を
表示します。
ESSをWebページに表示
DOMやSAXはXMLを処理する際によく使われる仕様です。
ただ、PHPでは、SimpleXMLと呼ばれるより簡単な使用に従い、
XMLを処理することができます。
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>DOMでRSSを使う</title> <link rel="stylesheet" href="../style.css"> </head> <body> <table border="2"> <?php $doc = new DOMDocument; $doc->load("http://vesna-memo.com/?feed=rss2"); $list = $doc->getelementsByTagName("item"); foreach( $list as $node ){ echo "<tr>"; echo "<td>" . $node->nodeValue . "</td>"; echo "</tr>"; } ?> </table> </body> </html> |
関数名 | 戻り値 | 説明 |
---|---|---|
simplexml_load_file(string $filename) | SimpleXMLElement | ファイル名を指定してXMLのオブジェクトを取得 |