PHP数组转XML函数:array2xml

<?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();
}

Related post

微信公众号:程序员到架构师

最新文章

Return Top