php中 数组转xml

<?php
/***
下面是一维数组测试数组到XML
$arr = array('name'=>'丁三','age'=>'29');
function arr2xml($arr)
{
	$xml = new simpleXMLElement('<?xml version="1.0" encoding="utf-8"?><root></root>');
	foreach ($arr as $k => $v) {
		$xml->addChild($k,$v);
	}

	return $xml->saveXML();
}
header('content-type:text/xml');
echo  arr2xml($arr);
***/


//创建一个测试数组
$arr = array('name'=>'丁三','age'=>29,'job'=>array('title'=>'经理','salary'=>'8888','team'=> array('小红','小明','小华')));
//打印测试数组
//print_r($arr);

function arr2xml($array,$node=null)
{
	if($node==null)
	{
		$node = new simpleXMLElement('<?xml version ="1.0" encoding="utf-8"?><root></root>');
	}
	

	foreach ($array as $k =>$v) 
	{
		if (is_array($v))//如果$v是数组
		{
			arr2xml($v,$node->addChild($k));
		}
		else if(is_numeric($k))//xml节点名字不允许是数字
		{
			$node->addChild('item',$v);
		}
		else//如果$v是字符串
		{
			$node->addChild($k,$v);
		}
	}


	return $node->saveXML();
}


header('content-type:text/xml');
print_r(arr2xml($arr)) ;
?>


下面是运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值