-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathserializeWithNamespace.php
50 lines (38 loc) · 1.05 KB
/
serializeWithNamespace.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?PHP
/**
* Example that creates tags with a namespace
*
* @author Stephan Schmidt <[email protected]>
*/
error_reporting(E_ALL);
require_once 'XML/Serializer.php';
$options = array(
'indent' => ' ',
'linebreak' => "\n",
'defaultTagName' => 'item',
'namespace' => 'foo'
);
$foo = new stdClass;
$foo->value = 'My value';
$foo->xml = 'cool';
$foo->obj = new stdClass;
$foo->arr = array();
$foo->zero = 0;
$serializer = &new XML_Serializer($options);
$result = $serializer->serialize($foo);
if( $result === true ) {
$xml = $serializer->getSerializedData();
}
echo '<pre>';
print_r( htmlspecialchars($xml) );
echo '</pre>';
// also pass the URI
$serializer->setOption('namespace', array('bar', 'http://pear.php.net/package/XML_Serializer'));
$result = $serializer->serialize($foo);
if( $result === true ) {
$xml = $serializer->getSerializedData();
}
echo '<pre>';
print_r( htmlspecialchars($xml) );
echo '</pre>';
?>