Options let you influence, how XML_Unserializer treats the parsed XML. It allows you to define, whether attributes should be parsed, whether to use associative arrays or objects for complex data types and more.
Options can be passed as an associative array to the constructor of XML_Unserializer. You may also use setOption(), or setOptions() to set one or more options after the instance of XML_Unserializer has been created.
Here is a list of all options supported by XML_Unserializer.
Table 48-1. XML_Unserializer options
Option | Possible values | Default | Description |
---|---|---|---|
complexTaype | 'array' or 'object' | 'array' | Defines, whether nested tags should be returned as associative arrays or objects |
keyAttribute | any string | '_originalKey' | If the attribute specified in this option exists for a tag, the value will be used as key or property name in the parent object or array |
typeAttribute | any string | '_type' | If this attribute exists for a tag, the tag content will be converted to the specified type. Possible types are: string, integer, float, boolean, array and object |
classAttribute | any string | '_class' | If XML_Unserializer creates an object, it will be an instance of stdClass, unless the tag has the attribute specified in this option. If it is set, the classname stored in the attribute value will be used. |
parseAttributes | TRUE or FALSE | TRUE | With this option, you may tell XML_Unserializer to also parse the attributes of the tags. The next two options define how to treat the parsed attributes. |
attributesArray | FALSE or any string | FALSE | If set to false, the attributes will be treated like nested tags. If you set it to a string, a new aray will be created and stored in the parent structure using key you specified in this option |
prependAttributes | any string | '' | Allows you to specify a prefix for attribute names. |
contentName | any string | '_content' | If you decide to parse attributes or a tag contains cdata and tags, then the cdata will be stored in the index specified here. |
tagMap | associative array | array() | This allows you to map tag names to PHP classes. The names of the tags have to be in the keys and the values contain the class names to use for each tag. |
The following examples shows how to set options for XML_Unserializer.
Example 48-1. Using the constructor
|
The following example shows how to set options for XML_Unserializer, if the instance already has been created.
Example 48-2. Using setOption() and setOptions()
|