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. FC2まとめ (4 PV)
  2. Twitter Lite - 起動時や利用時の読み込み速度が最大30%アップ (3 PV)
  3. 2ちゃんねる(2ch) (3 PV)
  4. 大人気のブランド品即時買取サービス「CASH」がDMM.comにたったの70億円で買い叩かれる (2 PV)
  5. 無料ダイヤルアッププロバイダ「Soloot(ソルート)」 (2 PV)
  6. ほしい物リスト (2 PV)
  7. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
  8. 掲示板CGI ThreadPlus 1.2 のリリース (2 PV)
  9. RDB(リレーショナルデータベース) (2 PV)
  10. 入金0円ですぐにFXが始められる初心者におすすめの海外FXブローカー「XM」 #MT4 #MT5 #口座開設 (2 PV)

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

  1. FC2まとめ (12 PV)
  2. 将棋ウォーズPCブラウザ版がchrome、Firefox、edgeなどに対応 (8 PV)
  3. 掲示板CGI ThreadPlus 1.2 のリリース (5 PV)
  4. 「Kindle for the Web」 (5 PV)
  5. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (5 PV)
  6. Jipanguの配布は終了しました (4 PV)
  7. [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (4 PV)
  8. Twitter Lite - 起動時や利用時の読み込み速度が最大30%アップ (3 PV)
  9. 「さくらのクラウド」のオプションサービスで「専有ホスト」の提供を開始 (3 PV)
  10. ドル円(USDJPY)で爆益を狙うハイリスクハイリターンのMT4向けナンピンマーチンEA「Hyper Dollar」 (3 PV)

アクセス統計

ディレクトリ

関連サイト