public function serialize(array $array, array $properties = null)
    {
        $xmlVersion   = '1.0';
        $xmlEncoding  = 'UTF-8';
        $standalone   = Utilities::tryGetValue($properties, self::STANDALONE);
        $defaultTag   = Utilities::tryGetValue($properties, self::DEFAULT_TAG);
        $rootName     = Utilities::tryGetValue($properties, self::ROOT_NAME);
        $docNamespace = Utilities::tryGetValue(
            $array,
            Resources::XTAG_NAMESPACE,
            null
        );

        if (!is_array($array)) {
            return false;
        }

        $xmlw = new \XmlWriter();
        $xmlw->openMemory();
        $xmlw->setIndent(true);
        $xmlw->startDocument($xmlVersion, $xmlEncoding, $standalone);

        if (is_null($docNamespace)) {
            $xmlw->startElement($rootName);
        } else {
            foreach ($docNamespace as $uri => $prefix) {
                $xmlw->startElementNS($prefix, $rootName, $uri);
                break;
            }
        }

        unset($array[Resources::XTAG_NAMESPACE]);
        self::arr2xml($xmlw, $array, $defaultTag);

        $xmlw->endElement();

        return $xmlw->outputMemory(true);
    }
public function serialize(array $array, array $properties = null)
    {
        $xmlVersion   = '1.0';
        $xmlEncoding  = 'UTF-8';
        $standalone   = Utilities::tryGetValue($properties, self::STANDALONE);
        $defaultTag   = Utilities::tryGetValue($properties, self::DEFAULT_TAG);
        $rootName     = Utilities::tryGetValue($properties, self::ROOT_NAME);
        $docNamespace = Utilities::tryGetValue(
            $array,
            Resources::XTAG_NAMESPACE,
            null
        );

        if (!is_array($array)) {
            return false;
        }

        $xmlw = new \XmlWriter();
        $xmlw->openMemory();
        $xmlw->setIndent(true);
        $xmlw->startDocument($xmlVersion, $xmlEncoding, $standalone);

        if (is_null($docNamespace)) {
            $xmlw->startElement($rootName);
        } else {
            foreach ($docNamespace as $uri => $prefix) {
                $xmlw->startElementNS($prefix, $rootName, $uri);
                break;
            }
        }

        unset($array[Resources::XTAG_NAMESPACE]);
        self::arr2xml($xmlw, $array, $defaultTag);

        $xmlw->endElement();

        return $xmlw->outputMemory(true);
    }
public function serialize ( array $ array , array $ properties = null ) { $ xmlVersion = '1.0' ; $ xmlEncoding = 'UTF-8' ; $ standalone = Utilities :: tryGetValue ( $ properties , self :: STANDALONE ) ; $ defaultTag = Utilities :: tryGetValue ( $ properties , self :: DEFAULT_TAG ) ; $ rootName = Utilities :: tryGetValue ( $ properties , self :: ROOT_NAME ) ; $ docNamespace = Utilities :: tryGetValue ( $ array , Resources :: XTAG_NAMESPACE , null ) ; if ( ! is_array ( $ array ) ) { return false ; } $ xmlw = new \ XmlWriter ( ) ; $ xmlw -> openMemory ( ) ; $ xmlw -> setIndent ( true ) ; $ xmlw -> startDocument ( $ xmlVersion , $ xmlEncoding , $ standalone ) ; if ( is_null ( $ docNamespace ) ) { $ xmlw -> startElement ( $ rootName ) ; } else { foreach ( $ docNamespace as $ uri => $ prefix ) { $ xmlw -> startElementNS ( $ prefix , $ rootName , $ uri ) ; break ; } } unset ( $ array [ Resources :: XTAG_NAMESPACE ] ) ; self :: arr2xml ( $ xmlw , $ array , $ defaultTag ) ; $ xmlw -> endElement ( ) ; return $ xmlw -> outputMemory ( true ) ; }
Serializes given array. The array indices must be string to use them as
as element name.

@param array $array      The object to serialize represented in array.
@param array $properties The used properties in the serialization process.

@return string
Serializes given array . The array indices must be string to use them as as element name .