Open In App

How to convert XML file into array in PHP?

Given an XML document and the task is to convert an XML file into PHP array. To convert the XML document into PHP array, some PHP functions are used which are listed below:

Step 1: Creating an XML file (Optional): Create an XML file which need to convert into the array.
GFG.xml






<?xml version='1.0'?>  
<firstnamedb>  
    <firstname name='Akshat'>  
        <symbol>AK</symbol>  
        <code>A</code>  
    </firstname>  
    <firstname name='Sanjay'>  
        <symbol>SA</symbol>  
        <code>B</code>  
    </firstname>
    <firstname name='Parvez'>  
        <symbol>PA</symbol>  
        <code>C</code>  
    </firstname>
</firstnamedb>

Step 2: Convert the file into string: XML file will import into PHP using file_get_contents() function which read the entire file as a string and store into a variable.

Step 3: Convert the string into an Object: Convert the string into an object which can be easily done through some inbuilt functions simplexml_load_string() of PHP.



Step 4: Convert the object into JSON: The json_encode() function is used to encode a JSON string and return the JSON representation of value.

Step 5: Decoding the JSON Object: The json_decode() function decode a JSON string. It converts a JSON encoded string into a PHP variable.

Example:




<?php
  
// xml file path
$path = "GFG.xml";
  
// Read entire file into string
$xmlfile = file_get_contents($path);
  
// Convert xml string into an object
$new = simplexml_load_string($xmlfile);
  
// Convert into json
$con = json_encode($new);
  
// Convert into associative array
$newArr = json_decode($con, true);
  
print_r($newArr);
  
?>

Output:


Article Tags :