HEX
Server: Apache
System: Linux sg241.singhost.net 2.6.32-896.16.1.lve1.4.51.el6.x86_64 #1 SMP Wed Jan 17 13:19:23 EST 2018 x86_64
User: honghock (909)
PHP: 8.0.30
Disabled: passthru,system,shell_exec,show_source,exec,popen,proc_open
Upload Files
File: //opt/cloudlinux/alt-php52/root/usr/share/doc/pear/XML_Serializer/examples/unserializeEnum.php
<?PHP
/**
 * This example shows how to use the XML_UNSERIALIZER_OPTION_FORCE_ENUM
 * option
 *
 * @author  Stephan Schmidt <schst@php.net>
 */
error_reporting(E_ALL);

require_once 'XML/Unserializer.php';

$xml1 = '<root>
   <item>
     <name>schst</name>
   </item>
   <item>
     <name>luckec</name>
   </item>
 </root>';
    
$xml2 = '<root>
   <item>
     <name>schst</name>
   </item>
 </root>';
    
$options = array(
                  XML_UNSERIALIZER_OPTION_FORCE_ENUM => array('item')
                );

                
//  be careful to always use the ampersand in front of the new operator 
$unserializer = &new XML_Unserializer($options);

// userialize the document
$status = $unserializer->unserialize($xml1);

if (PEAR::isError($status)) {
    echo 'Error: ' . $status->getMessage();
} else {
    $data = $unserializer->getUnserializedData();
    echo '<pre>';
    print_r($data);
    echo '</pre>';
}

// userialize the document
$status = $unserializer->unserialize($xml2);

if (PEAR::isError($status)) {
    echo 'Error: ' . $status->getMessage();
} else {
    $data = $unserializer->getUnserializedData();
    echo '<pre>';
    print_r($data);
    echo '</pre>';
}
?>