zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

XML 数据存储

2023-06-13 09:17:47 时间

通常情况下,我们将数据存储在数据库中。

不过,如果希望数据的可移植性更强,我们可以把数据存储 XML 文件中。

创建并保存 XML 文件

如果数据要被传送到非 Windows 平台上的应用程序,那么把数据保存在 XML 文件中是有好处的。请记住,XML 有很强的跨平台可移植性,并且数据无需转换!

首先,我们将学习如何创建并保存一个 XML 文件。下面的这个 XML 文件将被命名为 test.xml ,并被保存在服务器上的 c 目录中。我们将使用 PHP 的 XMLDOM 对象来创建并保存这个 XML 文件:

 ?php

//创建XML文档

$dom = new DOMDocument( 1.0 , utf-8 //建立DOM对象

//创建根元素并将之加入文档

$rootEl = $dom- createElement( root 

$dom- appendChild($rootEl);

//创建并加入子元素

$child1 = $dom- createElement( child1 

$child2 = $dom- createElement( child2 

$dom- appendChild($child1);

$dom- appendChild($child2);

//保存文件到指定目录,不指定情况下,为当前目录。

$dom- save( test.xml 

如果您打开这个被保存的文件,它会使这个样子 ( test.xml ):

 ?xml version= 1.0 ? 

 root 

 child1 / 

 child2 / 

 /root 

真实的表单例子

现在,我们看一个真实的表单例子。

我们首先看一下这个被用在例子中的 HTML 表单:下面的HTML表单要求用户输入他们的名字、国籍以及电子邮件地址。随后这些信息会被写到一个 XML 文件,以便存储。

customers.htm :
 html 

 body 

 form action= save_form.php method= post 

 h1 请输入您的联系信息: /h1 

 label 名字: /label 

 p input type= text id= firstName name= firstName /p 

 label 姓氏: /label 

 p input type= text id= lastName name= lastName /p 

 label 国家: /label 

 p input type= text id= country name= country /p 

 label 邮件: /label 

 p input type= text id= email name= email /p 

 input type= submit id= btn_sub name= btn_sub value= Submit 

 input type= reset id= btn_res name= btn_res value= Reset 

 /form 

 /body 

 /html 

用于以上 HTML 表单的 action 被设置为 save_form.php 。 saveForm.php 文件是一个 PHP 页面,可循环遍表单域,并把它们的值存储在一个 XML 文件中:

 ?php

//创建XML文档

$dom = new DOMDocument( 1.0 , utf-8 //建立DOM对象

//创建根元素并将之加入文档

$rootEl = $dom- createElement( customer 

$dom- appendChild($rootEl);

//循环遍历 Form 集

foreach($_POST as $key= $value){

 if(strpos($key, btn_ )!=0){

 $fieldName = $dom- createElement( field 

 $fieldName- setAttribute( id ,$key);

 $fieldValue = $dom- createElement( value ,$value);

 //把当前表单域的名称设置为 id 属性的值

 $fieldName- appendChild($fieldValue);

 $rootEl- appendChild($fieldName);

//保存 XML 文件

$dom- saveXML( Customer.xml 

注释:如果指定的 XML 文件名已经存在,那个文件会被覆盖!

XML 文件会由上面的代码生成,大致的样子是这样的:( Customer.xml ):

 ?xml version= 1.0 ? 

 customer 

 field id= firstName 

 value David /value 

 /field 

 field id= lastName 

 value Smith /value 

 /field 

 field id= country 

 value China /value 

 /field 

 field id= email 

 value mymail@myaddress.com /value 

 /field 

 /customer 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/59684.html

MDphpwindows