PHPからXMLを出力するサンプルコード

PHPでXMLを扱う場合、SimpleXMLやDOMを使うというのが一般的なようですが、今回はそれらは使わずに単に出力したいXML形式の文字列を生成してそれ出力するというサンプルコードです。

サンプルコードの処理内容は、MySQLのテーブルからスレッドIDを取得してURLを生成し、Googleのウェブマスターツールに登録するためにSitemapプロトコルに対応したXMLを出力するというものです。

<?php
//------------------------------------------------------------------------------
//    sitemap.php
//------------------------------------------------------------------------------

mb_language("Japanese");
mb_internal_encoding("UTF-8");

require_once('./config.php');
require_once('./util.php');

$siteurl = SITE_URL;
$itemlist = <<<EOL
   <url>
    <loc>$siteurl</loc>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
   </url>
EOL;

// DB接続
$dbh =_db_connect();

$sql = "SELECT threadid FROM thread WHERE status = 1 ORDER BY threadid";

$result = mysql_query($sql, $dbh);
if (!$result) {
    _error("SQL Error: " . mysql_error() . "\n");
}

while ($row = mysql_fetch_assoc($result)) {
    $itemurl = SITE_URL . '?thread=' . $row['threadid'];
    $itemlist .= <<<EOL
   <url>
    <loc>$itemurl</loc>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
   </url>
EOL;

}
mysql_free_result($result);

$sitemap = <<<EOL
<?xml version="1.0" encoding="UTF-8"?>
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   $itemlist
  </urlset>
EOL;

mysql_close($dbh);

header("Content-Type: text/xml; charset=utf-8");
echo $sitemap;

exit();

?>

上記のようなベタなやり方でなく、SimpleXMLやDOMを使いたいという場合は、以下のページが参考になると思います。

PHP 開発者のための XML: 第 1 回 PHP での XML を 15 分で学ぶ

プロになるための PHPプログラミング入門
技術評論社 著者:星野 香保子


amazon.co.jpのカスタマーレビューを見る
powered by amalink

[2286] Posted by kagahiro at 2013/02/21 20:19:18
オープン | 0 point | Link (1) | Trackback (0) | Comment (0)

キーワード

PHP XML サンプル コード 

ジャパンのホームページ


PHPからXMLを出力するサンプルコード 関連リンク

PHPメールフォームのサンプルスクリプト
PHPの開発環境でプログラムからメールを送信できるかチェックするために作成した、ごく簡単なメールフォームのサンプルスクリプト(プログラム)です。mailmform.PHPを実行すると入力フォームが表示...

PHPからXMLを出力するサンプルコード トラックバック

トラックバックURL :


PHPからXMLを出力するサンプルコードへのコメント


詳細の入力フィールドを表示する

おすすめ  (チェックしてコメントすると最新情報に掲載)
コメント :

< 前の投稿      次の投稿 >

アクセスランキング

今日のアクセスランキング TOP 10

  1. [gcc]iconvで文字エンコードを変換するサンプルプログラム (1 PV)
  2. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1980 PV)
  2. Google News (グーグルニュース)日本版 (528 PV)
  3. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (226 PV)
  4. Live Dwango Reader (LDR、旧livedoor Reader)が2017年8月31日でサービス終了 (170 PV)
  5. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (152 PV)
  6. グーグルニュース(Google News)のRSS/atomが取得できない (147 PV)
  7. 時間指定で仲値トレードも簡単にできる無料EA「NAKANE3 Ver 2.02」 (116 PV)
  8. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (116 PV)
  9. [将棋]ユーチューバーのクロノさんが将棋ウォーズ運営からアカウント停止の警告を受ける #ソフト指し #複垢 #アカBAN (104 PV)
  10. CommentPP 1.3のリリース (103 PV)

アクセス統計

ディレクトリ

関連サイト