<?php
* 数组转XML函数
* @author 979137@qq.com
* @param array $arr 要转换的数组
* @param string $item 默认节点名称
* @param object $xml XML节点对象
* @return string XML格式的字符串
*/
function array2xml($arr, $item='item', $xml=NULL) {
is_null($xml) && $xml = new \SimpleXMLElement('<xml></xml>');
foreach ($arr as $key=>$val) {
is_numeric($key) && $key = $item;
if (is_array($val) || is_object($val)) {
$child = $xml->addChild($key);
array2xml($val, $item, $child);
} elseif (is_numeric($val)) {
$child = $xml->addChild($key, $val);
} else {
$child = $xml->addChild($key);
$node = dom_import_simplexml($child);
$_val = $node->ownerDocument->createCDATASection($val);
$node->appendChild($_val);
}
}
return $xml->asXML();
}