<?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)) ;
?>
下面是运行结果: