用MySQL和PHP创建XML

WBOY
Freigeben: 2016-06-01 14:28:39
Original
794 Leute haben es durchsucht

 xml是作为数据交换标准而出现的。java和.NET都内在支持XML,但是其它平台上的开发者也不用担心自己被这项技术所遗弃了。php就是一个颇受欢迎的支持XML的脚本环境。
 

在本文中,我将向你介绍利用诸如PHP和MySQL这样的开放源码工具来处理XML的过程。我将以执行一个MySQL查询并把从查询所得到数据格式化为XML为例来加以说明。最后,在开始埋头编写代码之前,我将介绍如何把XML写入文件并检测系统设置。

为了可以运行本文所给出的代码,你需要能过运行PHP和MySQL,而且为了充分利用这些例子,你还需要知道主机名、用户名和口令。例子中的MySQL数据库的格式如图A所示。让我们看看如何用PHP来连接该数据库。

图A

用MySQL和PHP创建XML



用PHP建立数据库连接

下面的PHP脚本建立到数据库的连接并执行一个查询:
 
 $db_name = "xrandomusa_4";
$connection = mysql_connect("MySQL.somewhere.com", "username", "passWord") or die("Could not connect.");
$table_name = 'pages';

查询MySQL

在MySQL连接建立之后,你必须用该连接来建立当前数据库。下面的代码就是用来完成这个任务的:
 
$db = mysql_select_db($dbName, $link);

现在,用一个SQL语句来选择$table_name中的所有行:
$query = "select * from " . $table_name;

如有必要,你可以随后添加属性。现在,如下执行查询:
$result = mysql_query($query, $connection) or die("Could not complete database query");
$num = mysql_num_rows($result);


你可以通过PHP.net网站来获得关于所有MySQL函数的参考资料。

建立并编写XML

现在,你应该已经做好了建立新XML文档的准备了。这有许多种方法,不过我认为清单A中所用到的方法可以满足绝大多数目的。

现在我们详细介绍这一过程。变量num表示你查询的数据行出现与否,它对MySQL的mysql_num_rows函数是可测的。变量$file包含了一个指针,该指针指向PHP在文件系统中成功的搜索到results.xml时所产生文件对象。如果找到result.xml,则创建你的PHP文件对象以及指定文件,且其属性是可写的。现在你可以把一个变量的内容打印到创建后的文件(由于你的目录已经设置为允许PHP写文件,所以这么做是没有问题的)。

注意,从安全的角度来考虑,在实际的应用程序开发中这么做其实是很愚蠢的。为了确保你能够安全的实现本文所涉及的概念,你应该为你所希望打开并写入的文件提供完全路径,并确保该文件位于你的Web根目录之下。

然后,PHP的mysql_fetch_array函数把查询变量$result转换成一个数组,并按其关键字进行循环。如果pgaeTitle在查询所返回的栏之中,对每一行返回值都向字符串变量$_xml写入某些文本。

注意运算符“.=”(它用来把XML格式的字符串当作数值来拼接)读取$row。当循环结束的时候,根XML节点打印到变量$_xml之中,所有的变量用PHP的fwrite函数写入file.xml文件之中。

现在,屏幕上显示出一个链接。确保这条链接指向你的XML文件的路径,否则你无法看到这个格式化XML(该文件用PHP处理MySQL查询而产生)。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage