php 数组xml,php 将数组转换为xml

有时候我们需要将数据以xml格式存储到数据库或文件中,方便以后使用。对于这个需求,我们必须将数据转换为xml格式,为了满足这一需求,我们需要将数据转换成XML并保存XML文件。在本教程中,我们将讨论如何从PHP数组创建XML。我们已经创建了转换PHP数组到XML一个简单的脚本。您可以轻松地生成PHP数组的XML文件,并保存XML文件。

PHP数组:

首先,我们将用户数据存储在PHP的数组中:

$users_array = array(

"total_users" => 3,

"users" => array(

array(

"id" => 1,

"name" => "Nitya",

"address" => array(

"country" => "India",

"city" => "Kolkata",

"zip" => 700102,

)

),

array(

"id" => 2,

"name" => "John",

"address" => array(

"country" => "USA",

"city" => "Newyork",

"zip" => "NY1234",

)

),

array(

"id" => 3,

"name" => "Viktor",

"address" => array(

"country" => "Australia",

"city" => "Sydney",

"zip" => 123456,

)

),

)

);

数组转换为XML:

现在,我们使用php的SimpleXML将用户数组转换使用。

//function defination to convert array to xml

function array_to_xml($array, &$xml_user_info) {

foreach($array as $key => $value) {

if(is_array($value)) {

if(!is_numeric($key)){

$subnode = $xml_user_info->addChild("$key");

array_to_xml($value, $subnode);

}else{

$subnode = $xml_user_info->addChild("item$key");

array_to_xml($value, $subnode);

}

}else {

$xml_user_info->addChild("$key",htmlspecialchars("$value"));

}

}

}

//creating object of SimpleXMLElement

$xml_user_info = new SimpleXMLElement("<?xml version=\"1.0\"?>");

//function call to convert array to xml

array_to_xml($users_array,$xml_user_info);

//saving generated xml file

$xml_file = $xml_user_info->asXML('users.xml');

//success and error message based on xml creation

if($xml_file){

echo 'XML file have been generated successfully.';

}else{

echo 'XML file generation error.';

}

运行该脚本,输出一下xml内容:

3

1

Nitya

India

Kolkata

700102

2

John

USA

Newyork

NY1234

3

Viktor

Australia

Sydney

123456

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值