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,
- Convert XML to Array in PHP Using XML2Array
- How To Convert XSD into Array Using PHP
- How To Convert XML To Associative Array
In Below tutorial I will let you know how to convert XMl into array in php.
sample.xml config xml file
Step 1: XML File
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);
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.
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);
Step 5: Decode Json Object
Finally we will decode json to get array from json string.
$configData = json_decode($json, true);
Full Source Code
$xmlfile = file_get_contents($path); $ob= simplexml_load_string($xmlfile); $json = json_encode($ob); $configData = json_decode($json, true);