Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?PHP
2
/**
3
 * Example that shows how to influence the classes that are created.
4
 *
5
 * @author      Stephan Schmidt <schst@php.net>
6
 * @category    XML
7
 * @package     XML_Serializer
8
 * @subpackage  Examples
9
 */
10
error_reporting(E_ALL);
11
 
12
/**
13
 * uses XML_Unserializer
14
 */
15
require_once 'XML/Unserializer.php';
16
 
17
$xml = <<<EOT
18
<root>
19
   <foo>
20
     <type>bar</type>
21
   </foo>
22
   <bar type="foo"/>
23
</root>
24
EOT;
25
 
26
class foo
27
{
28
}
29
class bar
30
{
31
}
32
 
33
echo '<pre>';
34
//  be careful to always use the ampersand in front of the new operator
35
$unserializer = &new XML_Unserializer();
36
$unserializer->setOption(XML_UNSERIALIZER_OPTION_COMPLEXTYPE, 'object');
37
$unserializer->setOption(XML_UNSERIALIZER_OPTION_ATTRIBUTES_PARSE, true);
38
$unserializer->setOption(XML_UNSERIALIZER_OPTION_RETURN_RESULT, true);
39
 
40
$data = $unserializer->unserialize($xml);
41
var_dump($data);
42
 
43
echo "Do not use tagname as class name\n";
44
$unserializer->setOption(XML_UNSERIALIZER_OPTION_TAG_AS_CLASSNAME, false);
45
$data = $unserializer->unserialize($xml);
46
var_dump( $data );
47
 
48
echo "Use a different default class\n";
49
$unserializer->setOption(XML_UNSERIALIZER_OPTION_DEFAULT_CLASS, 'foo');
50
$data = $unserializer->unserialize($xml);
51
var_dump( $data );
52
 
53
echo '</pre>';
54
?>