免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1929 | 回复: 0
打印 上一主题 下一主题

php XMLWriter类的简单示例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-04 16:09 |只看该作者 |倒序浏览
php XMLWriter类的简单示例

这是一段写博客RSS的代码,不多说

  1. include 'mysql.php';
  2. $mysql= mysql::getObject();
  3. $mysql->query("SELECT * FROM post");
  4. $xml = new XMLWriter();$xml->openUri('hello.xml'); //  or 'php://output'$xml->setIndentString('   ');
  5. $xml->setIndent(true);// start$xml->startDocument('1.0', 'UTF-8');// <rss version="2.0">
  6. $xml->startElement('rss');   
  7. $xml->writeAttribute('version','2.0');    // <channel>  $xml->startElement('channel');     // title     
  8. $xml->startElement('title');         
  9. $xml->text('title');     
  10. $xml->endElement();     // link     
  11. $xml->startElement('link');         
  12. $xml->text('http://foodstory.me/post/');     
  13. $xml->endElement();     // description     
  14. $xml->startElement('description');         
  15. $xml->text('');     
  16. $xml->endElement();     // language     
  17. $xml->startElement('language');         
  18. $xml->text('zh-cn');     
  19. $xml->endElement();     // category     
  20. $xml->startElement('category');         
  21. $xml->text('IT');     
  22. $xml->endElement();     // copyright     
  23. $xml->startElement('copyright');         
  24. $xml->text('copyright 2011 foodstory.me');     
  25. $xml->endElement();     // for item   
  26. while( $row = $mysql->fetch() )     {      
  27. $xml->startElement('item');         // title        
  28. $xml->startElement('title');            
  29. $xml->text( $row['title']);        
  30. $xml->endElement();        // link        
  31. $xml->startElement('link');            
  32. $xml->text( 'http://foodstory.me/post/'.$row['id'].'.html');        
  33. $xml->endElement();        // description        
  34. $xml->startElement('description');            
  35. $xml->text( $row['text'] );        
  36. $xml->endElement();        // pubDate        
  37. $xml->startElement('pubDate');            
  38. $xml->text( date('D, d M Y H:i:s T', $row['time']) );        
  39. $xml->endElement();                // category tag author need to write .over      
  40. $xml->endElement(); // item     }
  41. $xml->endElement(); // channel$xml->endElement();  // rss$xml->endDocument();//
  42. $xml->flush();
复制代码
前面的mysql.php 是封装的mysql数据库功能,单例模式,所以取对象是静态方法 mysql::getObject();

代码很简单


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

或者 php://output 输出到缓冲区,然后 flush方法输出到页面
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP