![]() 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 : /usr/share/doc/cpanel-php83-xml-serializer/examples/ |
<?PHP /** * Example that shows how to influence the classes that are created. * * @author Stephan Schmidt <[email protected]> * @category XML * @package XML_Serializer * @subpackage Examples */ error_reporting(E_ALL); /** * uses XML_Unserializer */ require_once 'XML/Unserializer.php'; $xml = <<<EOT <root> <foo> <type>bar</type> </foo> <bar type="foo"/> </root> EOT; class foo { } class bar { } echo '<pre>'; // be careful to always use the ampersand in front of the new operator $unserializer = &new XML_Unserializer(); $unserializer->setOption(XML_UNSERIALIZER_OPTION_COMPLEXTYPE, 'object'); $unserializer->setOption(XML_UNSERIALIZER_OPTION_ATTRIBUTES_PARSE, true); $unserializer->setOption(XML_UNSERIALIZER_OPTION_RETURN_RESULT, true); $data = $unserializer->unserialize($xml); var_dump($data); echo "Do not use tagname as class name\n"; $unserializer->setOption(XML_UNSERIALIZER_OPTION_TAG_AS_CLASSNAME, false); $data = $unserializer->unserialize($xml); var_dump( $data ); echo "Use a different default class\n"; $unserializer->setOption(XML_UNSERIALIZER_OPTION_DEFAULT_CLASS, 'foo'); $data = $unserializer->unserialize($xml); var_dump( $data ); echo '</pre>'; ?>