Skip to content
PHP Ecosystem
Explore

XmlResponseFormatter

API reference › yii › web › XmlResponseFormatter

XmlResponseFormatter formats the given data into an XML response content.

It is used by Response to format response data.

PropertyTypeDescriptionDefined by
$behaviors read-onlyarray<yii\base\Behavior<static>>List of behaviors attached to this component.yii\base\Component
$contentTypestringThe Content-Type header for the response Default: 'application/xml'.XmlResponseFormatter
$encodingstring|nullThe XML encoding. Default: null.XmlResponseFormatter
$itemTagstringThe name of the elements that represent the array elements with numeric keys. Default: 'item'.XmlResponseFormatter
$objectTagToLowercaseboolIf true, converts object tags to lowercase, $useObjectTags must be enabled Default: false. Available since 2.0.43.XmlResponseFormatter
$rootTagstring|string[]|null|falseThe name of the root element. Default: 'response'.XmlResponseFormatter
$useObjectTagsboolIf object class names should be used as tag names Default: true. Available since 2.0.11.XmlResponseFormatter
$useTraversableAsArrayboolWhether to interpret objects implementing the Traversable interface as arrays. Default: true. Available since 2.0.7.XmlResponseFormatter
$versionstringThe XML version Default: '1.0'.XmlResponseFormatter
$dom protectedDOMDocumentThe XML document, serves as the root of the document tree Default: null. Available since 2.0.43.XmlResponseFormatter
MethodDescriptionDefined by
__construct()Constructor.yii\base\BaseObject
__call()Calls the named method which is not a class method.yii\base\Component
__clone()This method is called after the object is created by cloning an existing one.yii\base\Component
__get()Returns the value of a component property.yii\base\Component
__isset()Checks if a property is set, i.e. defined and not null.yii\base\Component
__set()Sets the value of a component property.yii\base\Component
__unset()Sets a component property to be null.yii\base\Component
attachBehavior()Attaches a behavior to this component.yii\base\Component
attachBehaviors()Attaches a list of behaviors to the component.yii\base\Component
behaviors()Returns a list of behaviors that this component should behave as.yii\base\Component
canGetProperty()Returns a value indicating whether a property can be read.yii\base\Component
canSetProperty()Returns a value indicating whether a property can be set.yii\base\Component
className() staticReturns the fully qualified name of this class.yii\base\BaseObject
detachBehavior()Detaches a behavior from the component.yii\base\Component
detachBehaviors()Detaches all behaviors from the component.yii\base\Component
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.yii\base\Component
format()Formats the specified response.XmlResponseFormatter
getBehavior()Returns the named behavior object.yii\base\Component
getBehaviors()Returns all behaviors attached to this component.yii\base\Component
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.yii\base\Component
hasMethod()Returns a value indicating whether a method is defined.yii\base\Component
hasProperty()Returns a value indicating whether a property is defined for this component.yii\base\Component
init()Initializes the object.yii\base\BaseObject
off()Detaches an existing event handler from this component.yii\base\Component
on()Attaches an event handler to an event.yii\base\Component
trigger()Triggers an event.yii\base\Component
buildXml() protectedRecursively adds data to XML document.XmlResponseFormatter
formatScalarValue() protectedFormats scalar value to use in XML text node.XmlResponseFormatter
getValidXmlElementName() protectedReturns element name ready to be used in DOMElement if name is not empty, is not int and is valid.XmlResponseFormatter
isValidXmlName() protectedChecks if name is valid to be used in XML.XmlResponseFormatter
public string|null $encoding = null

The XML encoding.

If not set, it will use the value of Response::$charset.

public string|string[]|null|false $rootTag = 'response'

The name of the root element.

If set to false, null or is empty then no root tag should be added.

Since 2.0.44 URI namespace could be specified by passing [namespace, tag name] array.

public bool $useTraversableAsArray = true

Whether to interpret objects implementing the Traversable interface as arrays.

Defaults to true.

Since

2.0.7

public function format(yii\web\Response $response): mixed

Formats the specified response.

Parameters

ParameterTypeDescription
$responseResponseThe response to be formatted.

Returns

mixed

protected function buildXml(DOMElement|DOMDocument $element, mixed $data): mixed

Recursively adds data to XML document.

Parameters

ParameterTypeDescription
$elementDOMElement|DOMDocumentCurrent element
$datamixedContent of the current element

Returns

mixed

protected function formatScalarValue(int|string|bool|float $value): string

Formats scalar value to use in XML text node.

Parameters

ParameterTypeDescription
$valueint|string|bool|floatA scalar value.

Returns

string: String representation of the value.

Since

2.0.11

protected function getValidXmlElementName(mixed $name): string

Returns element name ready to be used in DOMElement if name is not empty, is not int and is valid.

Falls back to $itemTag otherwise.

Parameters

ParameterTypeDescription
$namemixedThe original name

Returns

string

Since

2.0.12

protected function isValidXmlName(mixed $name): bool

Checks if name is valid to be used in XML.

Parameters

ParameterTypeDescription
$namemixedThe name to test

Returns

bool

Since

2.0.12

See also