src/thinkextend/transform/driver/Xml.php
public static function data2xml(\SimpleXMLElement $xml, $data, $item = 'item', $id = 'id')
    {
        foreach ($data as $key => $value) {
            //指定默认的数字key
            if (is_numeric($key)) {
                $id && $val = $key;
                $key        = $item;
            }

            //添加子元素
            if (is_array($value) || is_object($value)) {
                $child = $xml->addChild($key);
                self::data2xml($child, $value, $item, $id);
            } else {
                $child = $xml->addChild($key, $value);
            }

            //记录原来的key
            isset($val) && $child->addAttribute($id, $val);
        }
    }
public static function data2xml(\SimpleXMLElement $xml, $data, $item = 'item', $id = 'id')
    {
        foreach ($data as $key => $value) {
            //指定默认的数字key
            if (is_numeric($key)) {
                $id && $val = $key;
                $key        = $item;
            }

            //添加子元素
            if (is_array($value) || is_object($value)) {
                $child = $xml->addChild($key);
                self::data2xml($child, $value, $item, $id);
            } else {
                $child = $xml->addChild($key, $value);
            }

            //记录原来的key
            isset($val) && $child->addAttribute($id, $val);
        }
    }
数据XML编码
@static
@access public
@param  mixed  $data 数据
@param  string $item 数字索引时的节点名称
@param  string $id   数字索引key转换为的属性名
@return string