![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /proc/1544360/cwd/usr/share/doc/cpanel-php83-xml-serializer/examples/ |
<?PHP /** * Example to demonstrate the encodeFunction and decodeFunction * options. * * This allows you to apply callbacks to your data that is called * on all strings while serializing and unserializing. * * @author Stephan Schmidt <[email protected]> */ error_reporting(E_ALL); require_once 'XML/Serializer.php'; require_once 'XML/Unserializer.php'; $options = array( XML_SERIALIZER_OPTION_INDENT => ' ', XML_SERIALIZER_OPTION_LINEBREAKS => "\n", XML_SERIALIZER_OPTION_SCALAR_AS_ATTRIBUTES => true, XML_SERIALIZER_OPTION_ENCODE_FUNC => 'strtoupper' ); $foo = new stdClass(); $foo->bar = new stdClass(); $foo->bar->test = 'This is a test.'; $foo->bar->value = 'This is a value.'; $serializer = &new XML_Serializer($options); $result = $serializer->serialize($foo); if ($result === true) { $xml = $serializer->getSerializedData(); } echo "<pre>"; print_r( htmlspecialchars($xml) ); echo "</pre>"; $unserializer = &new XML_Unserializer(); $unserializer->setOption('parseAttributes', true); $unserializer->setOption('decodeFunction', 'strtolower'); $result = $unserializer->unserialize($xml); echo '<pre>'; print_r($unserializer->getUnserializedData()); echo '</pre>'; ?>