PHP Class XML_Serializer
this class can be used in two modes:
1. create an XML document from an array or object that is processed by other
applications. That means, you can create a RDF document from an array in the
following format:
$data = array(
"channel" => array(
"title" => "Example RDF channel",
"link" => "http://www.php-tools.de",
"image" => array(
"title" => "Example image",
"url" => "http://www.php-tools.de/image.gif",
"link" => "http://www.php-tools.de"
),
array(
"title" => "Example item",
"link" => "http://example.com"
),
array(
"title" => "Another Example item",
"link" => "http://example.org"
)
)
);
to create a RDF document from this array do the following:
require_once 'XML/Serializer.php';
$options = array(
"indent" => "\t", // indent with tabs
"linebreak" => "\n", // use UNIX line breaks
"rootName" => "rdf:RDF", // root tag
"defaultTagName" => "item" // tag for values with numeric keys
);
$serializer = new XML_Serializer($options);
$rdf = $serializer->serialize($data);
You will get a complete XML document that can be processed like any RDF document.
2. this classes can be used to serialize any data structure in a way that it can
later be unserialized again.
XML_Serializer will store the type of the value and additional meta information
in attributes of the surrounding tag. This meat information can later be used
to restore the original data structure in PHP. If you want XML_Serializer
to add meta information to the tags, add
"typeHints" => true
to the options array in the constructor.
Future versions of this package will include an XML_Unserializer, that does
the unserialization automatically for you.
Datei anzeigen
Open project: sourcefabric/newscoop
Class Usage Examples
Public Properties
Public Methods
Method |
Description |
|
XML_Serializer ( mixed $options = null ) |
Constructor |
|
_createXMLTag ( array $tag, boolean $firstCall = true ) : string |
create a tag from an array
this method awaits an array in the following format
array(
'qname' => $tagName,
'attributes' => array(),
'content' => $content, // optional
'namespace' => $namespace // optional
'namespaceUri' => $namespaceUri // optional
) |
|
_getDefaultTagname ( string $parent ) : string |
get the name of the default tag. |
|
_serializeArray ( &$array, string $tagName = null, array $attributes = [] ) : string |
serialize an array |
|
_serializeObject ( &$object, string $tagName = null, array $attributes = [] ) : string |
serialize an object |
|
_serializeValue ( mixed $value, string $tagName = null, array $attributes = [] ) : string |
serialize any value |
|
apiVersion ( ) : string |
Return the package version number |
|
getSerializedData ( ) : string |
get the result of the serialization |
|
resetOptions ( ) : void |
Reset all options to default options |
|
serialize ( mixed $data, array $options = null ) : boolean |
serialize data |
|
setOption ( string $name, mixed $value ) : void |
Set an option |
|
setOptions ( array $options ) : void |
Sets several options at once |
|
Method Details
XML_Serializer()
public method
_createXMLTag()
public method
create a tag from an array
this method awaits an array in the following format
array(
'qname' => $tagName,
'attributes' => array(),
'content' => $content, // optional
'namespace' => $namespace // optional
'namespaceUri' => $namespaceUri // optional
)
_getDefaultTagname()
public method
The name of the parent tag needs to be passed as the
default name can depend on the context.
_serializeArray()
public method
_serializeObject()
public method
_serializeValue()
public method
This method checks for the type of the value and calls the appropriate method
apiVersion()
public method
Return the package version number
getSerializedData()
public method
get the result of the serialization
resetOptions()
public method
Reset all options to default options
serialize()
public method
setOption()
public method
You can use this method if you do not want
to set all options in the constructor.
setOptions()
public method
You can use this method if you do not want
to set all options in the constructor.
Property Details
$_defaultOptions public_oe property
Default options for the serialization
public array $_defaultOptions |
return |
array |
|
$_knownOptions public_oe property
List of all available options
public array $_knownOptions |
return |
array |
|
$_serializedData public_oe property
Serialized representation of the data
public string $_serializedData |
return |
string |
|
$_tagDepth public_oe property
public int $_tagDepth |
return |
integer |
|
$options public_oe property
Options for the serialization
public array $options |
return |
array |
|