PATH:
usr
/
share
/
doc
/
cpanel-php81-xml-serializer-0.21.0
/
examples
<?PHP /** * This example shows different methods how * XML_Unserializer can be used to create data structures * from XML documents. * * @author Stephan Schmidt <schst@php.net> */ error_reporting(E_ALL); // this is a simple XML document $xml = '<users>' . ' <user handle="schst">Stephan Schmidt</user>' . ' <user handle="mj">Martin Jansen</user>' . ' <group name="qa">PEAR QA Team</group>' . ' <foo id="test">This is handled by the default keyAttribute</foo>' . ' <foo id="test2">Another foo tag</foo>' . '</users>'; require_once 'XML/Unserializer.php'; // complex structures are arrays, the key is the attribute 'handle' or 'name', if handle is not present $options = array( XML_UNSERIALIZER_OPTION_COMPLEXTYPE => 'array', XML_UNSERIALIZER_OPTION_ATTRIBUTE_KEY => array( 'user' => 'handle', 'group' => 'name', '#default' => 'id' ) ); // be careful to always use the ampersand in front of the new operator $unserializer = &new XML_Unserializer($options); // userialize the document $status = $unserializer->unserialize($xml, false); if (PEAR::isError($status)) { echo 'Error: ' . $status->getMessage(); } else { $data = $unserializer->getUnserializedData(); echo '<pre>'; print_r($data); echo '</pre>'; } // unserialize it again and change the complexType option // but leave other options untouched // now complex types will be an object, and the property name will be in the // attribute 'handle' $status = $unserializer->unserialize($xml, false, array(XML_UNSERIALIZER_OPTION_COMPLEXTYPE => 'object')); if (PEAR::isError($status)) { echo 'Error: ' . $status->getMessage(); } else { $data = $unserializer->getUnserializedData(); echo '<pre>'; print_r($data); echo '</pre>'; } // unserialize it again and change the complexType option // and reset all other options // Now, there's no key so the tags are stored in an array $status = $unserializer->unserialize($xml, false, array(XML_UNSERIALIZER_OPTION_OVERRIDE_OPTIONS => true, XML_UNSERIALIZER_OPTION_COMPLEXTYPE => 'object')); if (PEAR::isError($status)) { echo 'Error: ' . $status->getMessage(); } else { $data = $unserializer->getUnserializedData(); echo '<pre>'; print_r($data); echo '</pre>'; } ?>
[-] unserializeClassNames.php
[edit]
[-] serializeWithIndentedAttributes.php
[edit]
[-] example.xml
[edit]
[-] serializeRDF.php
[edit]
[-] unserializeRDF.php
[edit]
[-] serializeAndEncode.php
[edit]
[-] serializeWithDtd.php
[edit]
[+]
..
[-] Serializer_Bug7112.php
[edit]
[-] serializeSelectiveAttributes.php
[edit]
[-] unserializeWithTagMap.php
[edit]
[-] serializeNullProperties.php
[edit]
[-] serializeIndexedArray.php
[edit]
[-] unserializeWithTypeGuessing.php
[edit]
[-] serializeWithComment.php
[edit]
[-] serializeCData.php
[edit]
[-] unserializeWithAttributes.php
[edit]
[-] unserializeAnyXML.php
[edit]
[-] unserializeWhitespace.php
[edit]
[-] unserializeObject.php
[edit]
[-] serializeWithAttributes2.php
[edit]
[-] serializeWithAttributes.php
[edit]
[-] serializeObject.php
[edit]
[-] serializeWithTagMap.php
[edit]
[-] serializeAndReturn.php
[edit]
[-] serializeWithNamespace.php
[edit]
[-] serializeIndexedArrayWithContext.php
[edit]
[-] unserializeEncoded.php
[edit]
[-] unserializeEnum.php
[edit]