前面介绍了AJAX与XML交互通信的方式,接下来的问题是XML本身只是数据的一个"容器",并不能动态地获得数据,那么该如何获得数据呢?其实解决方法很简单,PHP脚本既然可以生成动态HTML,当然也可以生成动态XML。广州网站设计
用PHP生成XML文档并不复杂,只需要用header()函数把文档的MIME类型改成text/xml即可。为了避免<?xml ... ?>声明被解释为一个PHP标签,需要编辑php.ini,将short_open_tag选项设为不启用,或者直接用echo把这一行打印出来:
广州网站设计
- <?php
- echo '<?xml version="1.0" encoding="utf-8" ?>';
- ?>
下面的代码将生成一个标准的XML格式文件,代码如下:
- <?php
- header ( 'Content-Type: text/xml' );
- echo '<?xml version="1.0" encoding="utf-8" ?>';
- echo '<family>';
- echo '
- <member>
- <name>Mark</name>
- <doing>task1</doing>
- </member>
- <member>
- <name>Annie</name>
- <doing>task2</doing>
- </member>
- <member>
- <name>Nathan</name>
- <doing>task3</doing>
- </member>
- <member>
- <name>Rob</name>
- <doing>task4</doing>
- </member>
- <member>
- <name>Chris</name>
- <doing>task5</doing>
- </member>';
- echo '</family>';
- ?>
【代码解读】
上面的代码对读者来说是非常容易理解的,它按照XML要求的格式输出给浏览器。这里需要注意的是,由于是使用header()函数声明文件的类型,所以在header()函数之前不能有任何其他字符的输出,否则WebServer将会报错。另外,在输出XML格式时,也要保证不能有其他多余的输出,这样保证浏览器可以正确解析。广州网站建设



