protected function arrayToXml(array $array, SimpleXMLElement $xml = null)
    {
        if ($xml === null) {
            $xml = new SimpleXMLElement('<xml/>');
        }
        foreach ($array as $key => $value) {
            if (is_array($value)) {
                if (isset($value[0])) {
                    foreach ($value as $subValue) {
                        $subNode = $xml->addChild($key);
                        $this->arrayToXml($subValue, $subNode);
                    }
                } else {
                    $subNode = $xml->addChild($key);
                    $this->arrayToXml($value, $subNode);
                }
            } else {
                // Wrap cdata for non-numeric string
                if (is_numeric($value)) {
                    $xml->addChild($key, $value);
                } else {
                    $child = $xml->addChild($key);
                    $node = dom_import_simplexml($child);
                    $node->appendChild($node->ownerDocument->createCDATASection($value));
                }
            }
        }
        return $xml;
    }
protected function arrayToXml(array $array, SimpleXMLElement $xml = null)
    {
        if ($xml === null) {
            $xml = new SimpleXMLElement('<xml/>');
        }
        foreach ($array as $key => $value) {
            if (is_array($value)) {
                if (isset($value[0])) {
                    foreach ($value as $subValue) {
                        $subNode = $xml->addChild($key);
                        $this->arrayToXml($subValue, $subNode);
                    }
                } else {
                    $subNode = $xml->addChild($key);
                    $this->arrayToXml($value, $subNode);
                }
            } else {
                // Wrap cdata for non-numeric string
                if (is_numeric($value)) {
                    $xml->addChild($key, $value);
                } else {
                    $child = $xml->addChild($key);
                    $node = dom_import_simplexml($child);
                    $node->appendChild($node->ownerDocument->createCDATASection($value));
                }
            }
        }
        return $xml;
    }
protected function arrayToXml ( array $ array , SimpleXMLElement $ xml = null ) { if ( $ xml === null ) { $ xml = new SimpleXMLElement ( '<xml/>' ) ; } foreach ( $ array as $ key => $ value ) { if ( is_array ( $ value ) ) { if ( isset ( $ value [ 0 ] ) ) { foreach ( $ value as $ subValue ) { $ subNode = $ xml -> addChild ( $ key ) ; $ this -> arrayToXml ( $ subValue , $ subNode ) ; } } else { $ subNode = $ xml -> addChild ( $ key ) ; $ this -> arrayToXml ( $ value , $ subNode ) ; } } else { // Wrap cdata for non-numeric string if ( is_numeric ( $ value ) ) { $ xml -> addChild ( $ key , $ value ) ; } else { $ child = $ xml -> addChild ( $ key ) ; $ node = dom_import_simplexml ( $ child ) ; $ node -> appendChild ( $ node -> ownerDocument -> createCDATASection ( $ value ) ) ; } } } return $ xml ; }
Convert to XML element

@param array $array
@param SimpleXMLElement $xml
@return SimpleXMLElement
Convert to XML element