欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php XMLWriter类的简单示例

程序员文章站 2022-05-16 19:04:39
...
前面的mysql.php 是封装的mysql数据库功能,单例模式,所以取对象是静态方法 mysql::getObject();

代码很简单,如下所示:

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');
// 
$xml->startElement('rss');
$xml->writeAttribute('version', '2.0');
// 
$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();
?>

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


本文链接:

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