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 serialize XML bodies

  Guzzle\Service\Command\LocationVisitor\Request\AbstractRequestVisitor implements Guzzle\Service\Command\LocationVisitor\Request\RequestVisitorInterface
  Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor

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

## Methods summary

- `public` `__construct ( )`
- `public` `setContentTypeHeader ( string $header )`

  Change the content-type header that is added when XML is found

- `public` `visit ( Guzzle\Service\Command\CommandInterface $command, Guzzle\Http\Message\RequestInterface $request, Guzzle\Service\Description\Parameter $param, mixed $value )`
- `public` `after ( Guzzle\Service\Command\CommandInterface $command, Guzzle\Http\Message\RequestInterface $request )`
- `protected` `createRootElement ( Guzzle\Service\Description\Operation $operation )`

  Create the root XML element to use with a request

- `protected` `addXml ( XMLWriter $xmlWriter, Guzzle\Service\Description\Parameter $param, mixed $value )`

  Recursively build the XML body

- `protected` `writeAttribute ( \XMLWriter $xmlWriter, string $prefix, string $name, string $namespace, string $value )`

  Write an attribute with namespace if used

- `protected` `writeElement ( XMLWriter $xmlWriter, string $prefix, string $name, string $namespace, string $value )`

  Write an element with namespace if used

- `protected` `startDocument ( string $encoding )`

  Create a new xml writer and start a document

- `protected` `finishDocument ( \XMLWriter $xmlWriter )`

  End the document and return the output

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

  Add an array to the XML

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

  Add an object to the XML

## Methods detail

# `public`
`__construct( )`
# `public `Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor``
`setContentTypeHeader( string $header )`

Change the content-type header that is added when XML is found

#### Parameters

$header
  `string`
  $header Header to set when XML is found

#### Returns

``Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor``
# `public`
`visit( `Guzzle\Service\Command\CommandInterface` $command, `Guzzle\Http\Message\RequestInterface` $request, `Guzzle\Service\Description\Parameter` $param, mixed $value )`

#### Parameters

$command
  ``Guzzle\Service\Command\CommandInterface``
  $command Command being visited
$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request being visited
$param
  ``Guzzle\Service\Description\Parameter``
  $param Parameter being visited
$value
  `mixed`
  $value Value to set

#### CodeCoverageIgnore

#### Overrides

`Guzzle\Service\Command\LocationVisitor\Request\AbstractRequestVisitor::visit`
# `public`
`after( `Guzzle\Service\Command\CommandInterface` $command, `Guzzle\Http\Message\RequestInterface` $request )`

#### Parameters

$command
  ``Guzzle\Service\Command\CommandInterface``
  $command Command being visited
$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request being visited

#### CodeCoverageIgnore

#### Overrides

`Guzzle\Service\Command\LocationVisitor\Request\AbstractRequestVisitor::after`
# `protected `XMLWriter``
`createRootElement( `Guzzle\Service\Description\Operation` $operation )`

Create the root XML element to use with a request

#### Parameters

$operation
  ``Guzzle\Service\Description\Operation``
  $operation Operation object

#### Returns

``XMLWriter``
# `protected`
`addXml( `XMLWriter` $xmlWriter, `Guzzle\Service\Description\Parameter` $param, mixed $value )`

Recursively build the XML body

#### Parameters

$xmlWriter
  ``XMLWriter``
  $xmlWriter XML to modify
$param
  ``Guzzle\Service\Description\Parameter``
  $param API Parameter
$value
  `mixed`
  $value Value to add

# `protected`
`writeAttribute( `XMLWriter` $xmlWriter, string $prefix, string $name, string $namespace, string $value )`

Write an attribute with namespace if used

#### Parameters

$xmlWriter
  ``XMLWriter``
  $xmlWriter XMLWriter instance
$prefix
  `string`
  $prefix Namespace prefix if any
$name
  `string`
  $name Attribute name
$namespace
  `string`
  $namespace The uri of the namespace
$value
  `string`
  $value The attribute content

# `protected`
`writeElement( `XMLWriter` $xmlWriter, string $prefix, string $name, string $namespace, string $value )`

Write an element with namespace if used

#### Parameters

$xmlWriter
  ``XMLWriter``
  $xmlWriter XML writer resource
$prefix
  `string`
  $prefix Namespace prefix if any
$name
  `string`
  $name Element name
$namespace
  `string`
  $namespace The uri of the namespace
$value
  `string`
  $value The element content

# `protected `XMLWriter``
`startDocument( string $encoding )`

Create a new xml writer and start a document

#### Parameters

$encoding
  `string`
  $encoding document encoding

#### Returns

``XMLWriter``
the writer resource
# `protected string`
`finishDocument( `XMLWriter` $xmlWriter )`

End the document and return the output

#### Parameters

$xmlWriter
  ``XMLWriter``
  $xmlWriter

#### Returns

`string`
the writer resource
# `protected`
`addXmlArray( `XMLWriter` $xmlWriter, `Guzzle\Service\Description\Parameter` $param, mixed & $value )`

Add an array to the XML

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

Add an object to the XML

### Methods inherited from Guzzle\Service\Command\LocationVisitor\Request\AbstractRequestVisitor

`prepareValue()`, `resolveRecursively()`

### Magic methods summary

## Properties summary

`protected `SplObjectStorage`` | $data | # Data object for persisting XML data
`protected boolean` | $contentType | # Content-Type header added when XML is found