php XMLWriter类的简单示例

这是一段写博客RSS的代码,不多说
复制代码
include 'mysql.php';
$mysql= mysql::getObject();
$mysql->query("SELECT * FROM post");


$xml = new XMLWriter();

$xml->openUri('hello.xml'); //  or 'php://output'

$xml->setIndentString('   ');
$xml->setIndent(true);
// start
$xml->startDocument('1.0', 'UTF-8');

// <rss version="2.0">
$xml->startElement('rss');
   $xml->writeAttribute('version','2.0');
   
 // <channel> 
 $xml->startElement('channel');
     // title
     $xml->startElement('title');
          $xml->text('title');
     $xml->endElement();
     // link
     $xml->startElement('link');
          $xml->text('http://foodstory.me/post/');
     $xml->endElement();
     // description
     $xml->startElement('description');
          $xml->text('');
     $xml->endElement();
     // language
     $xml->startElement('language');
          $xml->text('zh-cn');
     $xml->endElement();
     // category
     $xml->startElement('category');
          $xml->text('IT');
     $xml->endElement();
     // copyright
     $xml->startElement('copyright');
          $xml->text('copyright 2011 foodstory.me');
     $xml->endElement();

     // for item
     while( $row = $mysql->fetch() )
     {
      $xml->startElement('item');
         // title
        $xml->startElement('title');
             $xml->text( $row['title']);
        $xml->endElement();
        // link
        $xml->startElement('link');
             $xml->text( 'http://foodstory.me/post/'.$row['id'].'.html');
        $xml->endElement();
        // description
        $xml->startElement('description');
             $xml->text( $row['text'] );
        $xml->endElement();
        // pubDate
        $xml->startElement('pubDate');
             $xml->text( date('D, d M Y H:i:s T', $row['time']) );
        $xml->endElement();
        
        // category tag author need to write .over
      $xml->endElement(); // item
     }
 $xml->endElement(); // channel
$xml->endElement();  // rss

$xml->endDocument();
// $xml->flush();
复制代码

前面的mysql.php 是封装的mysql数据库功能,单例模式,所以取对象是静态方法 mysql::getObject();

代码很简单

openUri('') 方法的参数可以是一个文件,那么xml数据就写入到这个文件

或者 php://output 输出到缓冲区,然后 flush方法输出到页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值