AI编程助手
AI免费问答

php XMLWriter类的简单示例

  2016-05-25 16:42   1197浏览 原创

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

代码很简单,如下所示:

<?php include &#39;mysql.php&#39;;
$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>
$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();
?></channel></rss>

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


本文链接:

收藏随意^^请保留教程地址.

php免费学习视频:立即学习
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。