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. 2chまとめサイト - 痛いニュース(ノ∀`) (6 PV)
  2. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (3 PV)
  3. Google News (グーグルニュース)日本版 (3 PV)
  4. 8月15日は終戦記念日(しゅうせんきねんび、終戦の日) (2 PV)
  5. 時間指定で仲値トレードも簡単にできる無料EA「NAKANE3 Ver 2.02」 (2 PV)
  6. 裁量トレードで買い(BUY)か売り(SELL)かを判断する方法 (1 PV)
  7. 将棋ウォーズPCブラウザ版がchrome、Firefox、edgeなどに対応 (1 PV)
  8. Exness ソーシャルトレーディングの戦略プロバイダーになりました (1 PV)
  9. 東京地検、インサイダー取引の疑いで村上ファンドを捜査 (1 PV)
  10. Twitterで本の名言を共有~Inbook.jp (1 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1111 PV)
  2. Google News (グーグルニュース)日本版 (240 PV)
  3. 日経平均株価(にっけいへいきんかぶか) (132 PV)
  4. 2chまとめサイト - 痛いニュース(ノ∀`) (105 PV)
  5. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (95 PV)
  6. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (95 PV)
  7. 仲値トレードが簡単にできる無料EA「NAKANE3 Ver 2.04」 #MT4 (90 PV)
  8. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (87 PV)
  9. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (73 PV)
  10. 裁量トレードで買い(BUY)か売り(SELL)かを判断する方法 (71 PV)

アクセス統計

ディレクトリ

関連サイト