当前位置:首页 > PHP教程 > php高级应用 > 列表

php XMLWriter类的简单示例

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-20 14:45:32 浏览: 评论:0 

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

代码很简单,如下所示:

  1. include 'mysql.php'
  2. $mysql= mysql::getObject(); 
  3. $mysql->query("SELECT * FROM post"); 
  4. $xml = new XMLWriter();
  5. $xml->openUri('hello.xml'); //  or 'php://output' 
  6.  
  7. $xml->setIndentString('   '); 
  8. $xml->setIndent(true); 
  9. // start 
  10. $xml->startDocument('1.0''UTF-8'); 
  11.  
  12. // <rss version="2.0"> 
  13. $xml->startElement('rss'); 
  14.    $xml->writeAttribute('version','2.0'); 
  15.     
  16.  // <channel>  
  17.  $xml->startElement('channel'); 
  18.      // title 
  19.      $xml->startElement('title'); 
  20.           $xml->text('title'); 
  21.      $xml->endElement(); 
  22.      // link 
  23.      $xml->startElement('link'); 
  24.           $xml->text('http://foodstory.me/post/'); 
  25.      $xml->endElement(); 
  26.      // description 
  27.      $xml->startElement('description'); 
  28.           $xml->text(''); 
  29.      $xml->endElement(); 
  30.      // language 
  31.      $xml->startElement('language'); 
  32.           $xml->text('zh-cn'); 
  33.      $xml->endElement(); 
  34.      // category 
  35.      $xml->startElement('category'); 
  36.           $xml->text('IT'); 
  37.      $xml->endElement(); 
  38.      // copyright 
  39.      $xml->startElement('copyright'); 
  40.           $xml->text('copyright 2011 foodstory.me'); 
  41.      $xml->endElement(); 
  42.  
  43.      // for item 
  44.      while$row = $mysql->fetch() ) 
  45.      { 
  46.       $xml->startElement('item'); 
  47.          // title 
  48.         $xml->startElement('title'); 
  49.              $xml->text( $row['title']); 
  50.         $xml->endElement(); 
  51.         // link 
  52.         $xml->startElement('link'); 
  53.              $xml->text( 'http://foodstory.me/post/'.$row['id'].'.html'); 
  54.         $xml->endElement(); 
  55.         // description 
  56.         $xml->startElement('description'); 
  57.              $xml->text( $row['text'] ); 
  58.         $xml->endElement(); 
  59.         // pubDate 
  60.         $xml->startElement('pubDate'); 
  61.              $xml->text( date('D, d M Y H:i:s T'$row['time']) ); 
  62.         $xml->endElement(); 
  63.          
  64.         // category tag author need to write .over 
  65.       $xml->endElement(); // item 
  66.      } 
  67.  $xml->endElement(); // channel 
  68. $xml->endElement();  // rss 
  69. //开源代码phpfensi.com 
  70. $xml->endDocument(); 
  71. // $xml->flush(); 

openUri('') 方法的参数可以是一个文件,那么xml数据就写入到这个文件或者 php://output 输出到缓冲区,然后 flush方法输出到页面.

Tags: php XMLWriter类 简单示例

分享到: