首页 >php教程 >php手册 >php XMLWriter类的简单示例

php XMLWriter类的简单示例

WBOY
WBOY原创
2016-05-25 16:42:001005浏览

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

代码很简单,如下所示:

<?php
include &#39;mysql.php&#39;;
$mysql = mysql::getObject();
$mysql->query("SELECT * FROM post");
$xml = new XMLWriter();
$xml->openUri(&#39;hello.xml&#39;); //  or &#39;php://output&#39;
$xml->setIndentString(&#39;   &#39;);
$xml->setIndent(true);
// start
$xml->startDocument(&#39;1.0&#39;, &#39;UTF-8&#39;);
// <rss version="2.0">
$xml->startElement(&#39;rss&#39;);
$xml->writeAttribute(&#39;version&#39;, &#39;2.0&#39;);
// <channel>
$xml->startElement(&#39;channel&#39;);
// title
$xml->startElement(&#39;title&#39;);
$xml->text(&#39;title&#39;);
$xml->endElement();
// link
$xml->startElement(&#39;link&#39;);
$xml->text(&#39;http://foodstory.me/post/&#39;);
$xml->endElement();
// description
$xml->startElement(&#39;description&#39;);
$xml->text(&#39;&#39;);
$xml->endElement();
// language
$xml->startElement(&#39;language&#39;);
$xml->text(&#39;zh-cn&#39;);
$xml->endElement();
// category
$xml->startElement(&#39;category&#39;);
$xml->text(&#39;IT&#39;);
$xml->endElement();
// copyright
$xml->startElement(&#39;copyright&#39;);
$xml->text(&#39;copyright 2011 foodstory.me&#39;);
$xml->endElement();
// for item
while ($row = $mysql->fetch()) {
    $xml->startElement(&#39;item&#39;);
    // title
    $xml->startElement(&#39;title&#39;);
    $xml->text($row[&#39;title&#39;]);
    $xml->endElement();
    // link
    $xml->startElement(&#39;link&#39;);
    $xml->text(&#39;http://foodstory.me/post/&#39; . $row[&#39;id&#39;] . &#39;.html&#39;);
    $xml->endElement();
    // description
    $xml->startElement(&#39;description&#39;);
    $xml->text($row[&#39;text&#39;]);
    $xml->endElement();
    // pubDate
    $xml->startElement(&#39;pubDate&#39;);
    $xml->text(date(&#39;D, d M Y H:i:s T&#39;, $row[&#39;time&#39;]));
    $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方法输出到页面.


本文链接:

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

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