NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class XmlVisitor

Location visitor used to marshal XML response data into a formatted array

  Guzzle\Service\Command\LocationVisitor\Response\AbstractResponseVisitor implements Guzzle\Service\Command\LocationVisitor\Response\ResponseVisitorInterface
  Guzzle\Service\Command\LocationVisitor\Response\XmlVisitor

### Direct known subclasses

`Aws\Common\Command\XmlResponseLocationVisitor`

Namespace: Guzzle\Service\Command\LocationVisitor\Response
Located at Guzzle/Service/Command/LocationVisitor/Response/XmlVisitor.php

## Methods summary

- `public` `before ( Guzzle\Service\Command\CommandInterface $command, array & $result )`

  Called before visiting all parameters. This can be used for seeding the result of a command with default data (e.g. populating with JSON data in the response then adding to the parsed data).

- `public` `visit ( Guzzle\Service\Command\CommandInterface $command, Guzzle\Http\Message\Response $response, Guzzle\Service\Description\Parameter $param, mixed & $value, mixed $context = null )`

  Called once for each parameter being visited that matches the location type

- `protected` `recursiveProcess ( Guzzle\Service\Description\Parameter $param, mixed & $value )`

  Recursively process a parameter while applying filters

- `protected` `processArray ( Guzzle\Service\Description\Parameter $param, mixed & $value )`

  Process an array

- `protected` `processObject ( Guzzle\Service\Description\Parameter $param, mixed & $value )`

  Process an object

- `protected` `processXmlAttribute ( Guzzle\Service\Description\Parameter $property, array & $value )`

  Process an XML attribute property

## Methods detail

# `public`
`before( `Guzzle\Service\Command\CommandInterface` $command, array & $result )`

Called before visiting all parameters. This can be used for seeding the result of a command with default data (e.g. populating with JSON data in the response then adding to the parsed data).

#### Parameters

$command
  ``Guzzle\Service\Command\CommandInterface``
  $command Command being visited
$result
  `array`
  $result Result value to update if needed (e.g. parsing XML or JSON)

#### Overrides

`Guzzle\Service\Command\LocationVisitor\Response\AbstractResponseVisitor::before`
# `public`
`visit( `Guzzle\Service\Command\CommandInterface` $command, `Guzzle\Http\Message\Response` $response, `Guzzle\Service\Description\Parameter` $param, mixed & $value, mixed $context = null )`

Called once for each parameter being visited that matches the location type

#### Parameters

$command
  ``Guzzle\Service\Command\CommandInterface``
  $command Command being visited
$response
  ``Guzzle\Http\Message\Response``
  $response Response being visited
$param
  ``Guzzle\Service\Description\Parameter``
  $param Parameter being visited
$value
  `mixed`
  $value Result associative array value being updated by reference
$context
  `mixed`
  $context Parsing context

#### Overrides

`Guzzle\Service\Command\LocationVisitor\Response\AbstractResponseVisitor::visit`
# `protected`
`recursiveProcess( `Guzzle\Service\Description\Parameter` $param, mixed & $value )`

Recursively process a parameter while applying filters

#### Parameters

$param
  ``Guzzle\Service\Description\Parameter``
  $param API parameter being processed
$value
  `mixed`
  $value Value to validate and process. The value may change during this process.

# `protected`
`processArray( `Guzzle\Service\Description\Parameter` $param, mixed & $value )`

Process an array

#### Parameters

$param
  ``Guzzle\Service\Description\Parameter``
  $param API parameter being parsed
$value
  `mixed`
  $value Value to process

# `protected`
`processObject( `Guzzle\Service\Description\Parameter` $param, mixed & $value )`

Process an object

#### Parameters

$param
  ``Guzzle\Service\Description\Parameter``
  $param API parameter being parsed
$value
  `mixed`
  $value Value to process

# `protected`
`processXmlAttribute( `Guzzle\Service\Description\Parameter` $property, array & $value )`

Process an XML attribute property

#### Parameters

$property
  ``Guzzle\Service\Description\Parameter``
  $property Property to process
$value
  `array`
  $value Value to process and update

### Methods inherited from Guzzle\Service\Command\LocationVisitor\Response\AbstractResponseVisitor

`after()`

### Magic methods summary