<?php ob_start(); header('Content-Type: text/xml'); $dom = new DOMDocument('1.0'); $dom->encoding = 'UTF-8'; // 建立母節點 $root $root = $dom->createElement('root'); $dom->appendChild($root); // 設定屬性 $root->setAttribute('name', 'xxx'); // 建立 $root 的子節點 $child $child = $dom->createElement('child'); $root->appendChild($child); // 建立文字節點 $text $text = $dom->createTextNode('文字'); // $text 加到 $child 節點底下 $child->appendChild($text); $xmlStr = $dom->saveXML(); echo $xmlStr; ?>
底下是一個從資料庫撈資料動態產生 RSS 檔的例子:
<?php ob_start(); header('Content-Type: text/xml'); $dom = new DOMDocument('1.0'); $dom->encoding = 'UTF-8'; // 建立母節點 $rss $rss = $dom->createElement('rss'); $dom->appendChild($rss); $rss->setAttribute('version', '2.0'); // 建立第一子節點 $channel $channel = $dom->createElement('channel'); $rss->appendChild($channel); // $channel 底下的節點及其文字內容 $title = $dom->createElement('title'); $titleText = $dom->createTextNode('您的 RSS 標題'); $title->appendChild($titleText); $channel->appendChild($title); $link = $dom->createElement('link'); $linkText = $dom->createTextNode('http://您的網站連結/'); $link->appendChild($linkText); $channel->appendChild($link); $description = $dom->createElement('description'); $descriptionText = $dom->createTextNode('您的描述'); $description->appendChild($descriptionText); $channel->appendChild($description); // 查詢資料庫,撈資料來建立 item 節點 require_once("您的資料庫連結檔,包括資料庫名稱,帳號,密碼,連結等.php"); $query = "您的 SQL 子句"; $result = mysql_query($query, 連結); while($row = @mysql_fetch_assoc($result)) { $item = $dom->createElement('item'); $channel->appendChild($item); $title = $dom->createElement('title'); $titleText = $dom->createTextNode($row['文章標題']); $title->appendChild($titleText); $item->appendChild($title); $pubDate = $dom->createElement('pubDate'); $pubDateText = $dom->createTextNode($row['文章日期']); $pubDate->appendChild($pubDateText); $item->appendChild($pubDate); $description = $dom->createElement('description'); $descriptionText = $dom->createTextNode($row['文章描述']); $description->appendChild($descriptionText); $item->appendChild($description); $link = $dom->createElement('link'); $linkText = $dom->createTextNode('您的連結'); $link->appendChild($linkText); $item->appendChild($link); } $xmlStr = $dom->saveXML(); echo $xmlStr; mysql_close($link); ?>
沒有留言:
張貼留言