Posts Tagged ‘xmlhelper’

XML to Array and Array to Xml in CakePHP

October 19th, 2009

When working with xml allot, you’ll find that this little ‘trick’ might come in handy.

Editing large xml structures is a pain. So why not convert them to a nice array?

It’s done like this:
The xml:

<PipeMsg>
    <Header>
        <Task>Logon</Task>
	<AuthenticationToken>sdfdg4-hkjty45-4544-sdfdsf4</AuthenticationToken>
	<CreationDstamp>54641215</CreationDstamp>
    </Header>
    <Body>
	<UserName>Crazy</UserName>
	<Password>cinderella </Password>
    </Body>
</PipeMsg>

Now convert to an array:

$objXml = 'the xml in the blok above';
$arrXml = Set::reverse($objXml;);
 
echo $arrXml['Header']['Task'];
//result
Logon

We can also go the other way around, in CakePHP we do it like this:

//$arrXml = array from example above
App::Import('Helper', 'Xml');
$objXmlHelper = new XmlHelper();
$objXml = $objXmlHelper->serilize($arrXml);