Open In App

How to convert XML file into array in PHP?

Improve
Improve
Like Article
Like
Save
Share
Report

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:

  • file_get_contents() function: The file_get_contents() function is used to read a file as string. This function uses memory mapping techniques which are supported by the server and thus enhances the performance by making it a preferred way of reading contents of a file.
  • simplexml_load_string() function: Sometimes there is a need of parsing XML data in PHP. There are a handful of methods available to parse XML data. SimpleXML is one of them. Parsing an XML document means that navigating through the XML document and return the relevant pieces of information. Nowadays, a few APIs return data in JSON format but there are still a large number of websites which returns data in XML format. So we have to master in parsing an XML document if we want to feast on APIs available.
  • json_encode() function: The json_encode() function is used to encode a JSON string and return the JSON representation of value.
  • json_decode() function: The json_decode() function is used to decode a JSON string. It converts a JSON encoded string into a PHP variable.

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:



Last Updated : 02 Jul, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads