Server IP : 164.52.202.56 / Your IP : 216.73.216.204 Web Server : Apache System : Linux e2e-70-56.ssdcloudindia.net 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : rubyaromatics ( 1052) PHP Version : 7.2.34 Directory (0755) : /usr/share/doc/cpanel-php83-xml-serializer/examples/ |
[ Home ] | [ Terminal ] | [ Upload File ] |
---|
<?PHP /** * Example that shows how to influence the classes that are created. * * @author Stephan Schmidt <schst@php.net> * @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>'; ?>