-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathserializeWithAttributes2.php
46 lines (39 loc) · 1.33 KB
/
serializeWithAttributes2.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
<?PHP
/**
* XML Serializer example
*
* This example demonstrates, how XML_Serializer is able
* to serialize predefined values as the attributes of a tag
*
* @author Stephan Schmidt <[email protected]>
*/
error_reporting(E_ALL);
require_once 'XML/Serializer.php';
$options = array(
XML_SERIALIZER_OPTION_INDENT => ' ',
XML_SERIALIZER_OPTION_LINEBREAKS => "\n",
XML_SERIALIZER_OPTION_DEFAULT_TAG => 'unnamedItem',
XML_SERIALIZER_OPTION_SCALAR_AS_ATTRIBUTES => false,
XML_SERIALIZER_OPTION_ATTRIBUTES_KEY => '_attributes',
XML_SERIALIZER_OPTION_CONTENT_KEY => '_content'
);
$data = array(
'foo' => array(
'_attributes' => array( 'version' => '1.0', 'foo' => 'bar' ),
'_content' => 'test & test'
),
'schst' => 'Stephan Schmidt'
);
$serializer = new XML_Serializer($options);
$result = $serializer->serialize($data);
if ($result === true) {
$xml = $serializer->getSerializedData();
echo '<pre>';
echo htmlspecialchars($xml);
echo '</pre>';
} else {
echo '<pre>';
print_r($result);
echo '</pre>';
}
?>