How To Convert XML To Associative Array in PHP

Today I need to convert XML file into associative array to store in variable. So I have done a lot of googling and I have found several methods/views and library to convert XML object into Array but in stack overflow I have found below simple script to convert xml into array.I am using file_get_contents() php method to read xml file data into string.

Also checkout other related tutorials,

In Below tutorial I will let you know how to convert XMl into array in php.

I have sample.xml config xml file

[code type=”xml”]

Step 1: XML File




ben
A


h2o
K


h2o
K

Step 2: Convert File Into String

Now I will use file_get_contents() PHP method to read entire file into a string.

$xmlfile = file_get_contents($path);
Result

convert xml into string

Step 3: Convert string of XML into an Object

Right now I have xml file as an string so I need to convert this xml string into Objects,So I will use simplexml_load_string() method to convert string of XML into an object.

$ob= simplexml_load_string($xmlfile);
Result

convert xml into objects

Step 4: Encode XML Object Into JSON

Now I will encode XML object into JSON, below code will convert xml object into json string.

$json  = json_encode($ob);
Result

Json encode

Step 5: Decode Json Object

Finally we will decode json to get array from json string.

$configData = json_decode($json, true);
Result

convert xml into array

Full Source Code

$xmlfile = file_get_contents($path);
		$ob= simplexml_load_string($xmlfile);
		$json  = json_encode($ob);
		$configData = json_decode($json, true);