标题: 用MySQL和PHP创建XML
轻骑兵
少校
Rank: 1



UID 90
精华 0
积分 1218
帖子 609
威望 10
金币 609
热心 0
阅读权限 40
注册 2005-9-15
状态 离线
用MySQL和PHP创建XML

XML是作为数据交换标准而出现的。Java和.NET都内在支持XML,但是其它平台上的开发者也不用担心自己被这项技术所遗弃了。PHP就是一个颇受欢迎的支持XML的脚本环境。
  
在本文中,我将向你介绍利用诸如PHP和MySQL这样的开放源码工具来处理XML的过程。我将以执行一个MySQL查询并把从查询所得到数据格式化为XML为例来加以说明。最后,在开始埋头编写代码之前,我将介绍如何把XML写入文件并检测系统设置。
为了可以运行本文所给出的代码,你需要能过运行PHP和MySQL,而且为了充分利用这些例子,你还需要知道主机名、用户名和口令。例子中的MySQL数据库的格式如图A所示。让我们看看如何用PHP来连接该数据库。
图A

<H5 align=left>
用PHP建立数据库连接
</H5>
下面的PHP脚本建立到数据库的连接并执行一个查询:

<?php
$db_name = "xrandomusa_4";
$connection = mysql_connect("MySQL.somewhere.com", "username", "password") or die("Could not connect.");
$table_name = "pages";</FONT>

<H5 align=left>查询MySQL
</H5>
在MySQL连接建立之后,你必须用该连接来建立当前数据库。下面的代码就是用来完成这个任务的:

$db = mysql_select_db($dbName, $link);</FONT>
现在,用一个SQL语句来选择<I>$table_name</I>中的所有行:
$query = "select * from " . $table_name;</FONT>
如有必要,你可以随后添加属性。现在,如下执行查询:
$result = mysql_query($query, $connection) or die("Could not complete database query");
$num = mysql_num_rows($result);</FONT>
你可以通过PHP.net网站来获得关于所有MySQL函数的参考资料。
<H5 align=left>建立并编写XML
</H5>
现在,你应该已经做好了建立新XML文档的准备了。这有许多种方法,不过我认为<B>清单A</B>中所用到的方法可以满足绝大多数目的。
现在我们详细介绍这一过程。变量<I>num</I>表示你查询的数据行出现与否,它对MySQL的<I>mysql_num_rows</I>函数是可测的。变量$file包含了一个指针,该指针指向PHP在文件系统中成功的搜索到results.xml时所产生文件对象。如果找到result.xml,则创建你的PHP文件对象以及指定文件,且其属性是可写的。现在你可以把一个变量的内容打印到创建后的文件(由于你的目录已经设置为允许PHP写文件,所以这么做是没有问题的)。
注意,从安全的角度来考虑,在实际的应用程序开发中这么做其实是很愚蠢的。为了确保你能够安全的实现本文所涉及的概念,你应该为你所希望打开并写入的文件提供完全路径,并确保该文件位于你的Web根目录之下。
然后,PHP的<I>mysql_fetch_array</I>函数把查询变量<I>$result</I>转换成一个数组,并按其关键字进行循环。如果<I>pgaeTitle</I>在查询所返回的栏之中,对每一行返回值都向字符串变量<I>$_xml</I>写入某些文本。
注意运算符“.=”(它用来把XML格式的字符串当作数值来拼接)读取<I>$row</I>。当循环结束的时候,根XML节点打印到变量<I>$_xml</I>之中,所有的变量用PHP的<I>fwrite</I>函数写入file.xml文件之中。
现在,屏幕上显示出一个链接。确保这条链接指向你的XML文件的路径,否则你无法看到这个格式化XML(该文件用PHP处理MySQL查询而产生)。

顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-7-7 08:28
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP