龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

5.7 XMLWriter类――《PHP高级程序设计:模式、框架和测试》

时间:2009-12-17 12:00来源:未知 作者:admin 点击:
分享到:
5.7 XMLWriter类 在现今的Web编程中,创建XML文档已经成为非常关键的一部分。通常,你需要使用XML格式导出数据。可以采用几种方式创建XML文档,比如SimpleXML方式或者具有完整功能的文档

5.7 XMLWriter类

在现今的Web编程中,创建XML文档已经成为非常关键的一部分。通常,你需要使用XML格式导出数据。可以采用几种方式创建XML文档,比如SimpleXML方式或者具有完整功能的文档对象模型(DOM)创建方式。然而,这些方法有很多限制,有时会使API变得混乱。

PHP 6中引入了XMLWriter类,它提供了一种简单、直截了当并且容易使用的方法去创建XML文档。这一组件的API还没有开发完成,并且有可能发生变化。在http://www.php.net/xmlwriter中可以发现最新的参考信息。

代码清单5-15试图演示这一API最终是如何操作的,但这里的语法并不一定是精确的。这段代码为输出流创建了一个基本的XHTML文档。

代码清单5-15 XHTML文档示例

//实例化对象并设置对齐选项

$xml = new XMLWriter();

$xml->openURI('php://output');

$xml->setIndentString(' ');

$xml->setIndent(true);

//开始创建文档并设置DTD

$xml->startDocument('1.0', 'UTF-8');

$xml->startDtd('html','-//W3C//DTD XHTML 1.0 Strict//EN',

'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd');

$xml->endDtd();

//创建HTML文档

$xml->startElement('html');

$xml->writeAttribute('xmlns', 'http://www.w3.org/1999/xhtml');

$xml->writeAttribute('xml:lang', 'en');

$xml->writeAttribute('lang', 'en');

$xml->startElement('head');

$xml->writeElement('title', 'An example XHTML document.');

$xml->endElement();

$xml->startElement('body');

$xml->writeElement('p', 'Hello, World!');

$xml->startElement('p');

$xml->text('This paragraph contains an inline ');

$xml->startElement('a');

$xml->writeAttribute('href','http://www.example.org');

$xml->text('link.');

$xml->endElement(); //a

$xml->endElement(); //p

$xml->endElement(); //body

$xml->endElement(); //html

$xml->endDocument();

$xml->flush();

PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

An example XHTML document.

Hello, World!

This paragraph contains an inline

link.

精彩图集

赞助商链接