PHP Класс 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.
Автор: Stephan Schmidt ([email protected])
Наследование: extends PEAR
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
$_defaultOptions array Default options for the serialization
$_knownOptions array List of all available options
$_serializedData string Serialized representation of the data
$_tagDepth integer Current tag depth
$options array Options for the serialization

Открытые методы

Метод Описание
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

Описание методов

XML_Serializer() публичный Метод

Constructor
public XML_Serializer ( mixed $options = null )
$options mixed array containing options for the serialization

_createXMLTag() публичный Метод

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 )
public _createXMLTag ( array $tag, boolean $firstCall = true ) : string
$tag array tag definition
$firstCall boolean whether or not this is the first call
Результат string $string XML tag

_getDefaultTagname() публичный Метод

The name of the parent tag needs to be passed as the default name can depend on the context.
public _getDefaultTagname ( string $parent ) : string
$parent string name of the parent tag
Результат string default tag name

_serializeArray() публичный Метод

serialize an array
public _serializeArray ( &$array, string $tagName = null, array $attributes = [] ) : string
$tagName string name of the root tag
$attributes array attributes for the root tag
Результат string $string serialized data

_serializeObject() публичный Метод

serialize an object
public _serializeObject ( &$object, string $tagName = null, array $attributes = [] ) : string
$tagName string tag name
$attributes array attributes
Результат string $string serialized data

_serializeValue() публичный Метод

This method checks for the type of the value and calls the appropriate method
public _serializeValue ( mixed $value, string $tagName = null, array $attributes = [] ) : string
$value mixed tag value
$tagName string tag name
$attributes array attributes
Результат string

apiVersion() публичный Метод

Return the package version number
public apiVersion ( ) : string
Результат string the version number of XML_Serializer

getSerializedData() публичный Метод

get the result of the serialization
public getSerializedData ( ) : string
Результат string serialized XML

resetOptions() публичный Метод

Reset all options to default options
public resetOptions ( ) : void
Результат void

serialize() публичный Метод

serialize data
public serialize ( mixed $data, array $options = null ) : boolean
$data mixed data to serialize
$options array options array
Результат boolean true on success, pear error on failure

setOption() публичный Метод

You can use this method if you do not want to set all options in the constructor.
public setOption ( string $name, mixed $value ) : void
$name string option name
$value mixed option value
Результат void

setOptions() публичный Метод

You can use this method if you do not want to set all options in the constructor.
public setOptions ( array $options ) : void
$options array options array
Результат void

Описание свойств

$_defaultOptions публичное свойство

Default options for the serialization
public array $_defaultOptions
Результат array

$_knownOptions публичное свойство

List of all available options
public array $_knownOptions
Результат array

$_serializedData публичное свойство

Serialized representation of the data
public string $_serializedData
Результат string

$_tagDepth публичное свойство

Current tag depth
public int $_tagDepth
Результат integer

$options публичное свойство

Options for the serialization
public array $options
Результат array