protected function arrayToXML(array $data, &$output)
	{
		foreach ($data as $key => $value)
		{
			if (is_array($value))
			{
				if (! is_numeric($key))
				{
					$subnode = $output->addChild("$key");
					$this->arrayToXML($value, $subnode);
				}
				else
				{
					$subnode = $output->addChild("item{$key}");
					$this->arrayToXML($value, $subnode);
				}
			}
			else
			{
				$output->addChild("$key", htmlspecialchars("$value"));
			}
		}
	}
protected function arrayToXML(array $data, &$output)
	{
		foreach ($data as $key => $value)
		{
			if (is_array($value))
			{
				if (! is_numeric($key))
				{
					$subnode = $output->addChild("$key");
					$this->arrayToXML($value, $subnode);
				}
				else
				{
					$subnode = $output->addChild("item{$key}");
					$this->arrayToXML($value, $subnode);
				}
			}
			else
			{
				$output->addChild("$key", htmlspecialchars("$value"));
			}
		}
	}
protected function arrayToXML ( array $ data , & $ output ) { foreach ( $ data as $ key => $ value ) { if ( is_array ( $ value ) ) { if ( ! is_numeric ( $ key ) ) { $ subnode = $ output -> addChild ( "$key" ) ; $ this -> arrayToXML ( $ value , $ subnode ) ; } else { $ subnode = $ output -> addChild ( "item{$key}" ) ; $ this -> arrayToXML ( $ value , $ subnode ) ; } } else { $ output -> addChild ( "$key" , htmlspecialchars ( "$value" ) ) ; } } }
A recursive method to convert an array into a valid XML string.

Written by CodexWorld. Received permission by email on Nov 24, 2016 to use this code.

@see http://www.codexworld.com/convert-array-to-xml-in-php/

@param array             $data
@param \SimpleXMLElement $output
A recursive method to convert an array into a valid XML string .