9951 explained code solutions for 126 technologies


php-laravelHow can I convert JSON data to XML using PHP Laravel?


To convert JSON data to XML using PHP Laravel, you can use the json_encode() and simplexml_load_string() functions.

Example code

$json = '{"name": "John", "age": 30, "city": "New York"}';
$json_array = json_decode($json, true); // convert JSON to array
$xml = simplexml_load_string("<root></root>"); // create a new XML element
array_walk_recursive($json_array, array ($xml, 'addChild')); // add array elements to XML
print $xml->asXML(); // output XML

Output example

<?xml version="1.0"?>
<root>
  <name>John</name>
  <age>30</age>
  <city>New York</city>
</root>

Code explanation

  • json_decode(): converts a JSON string to a PHP array
  • simplexml_load_string(): creates a new SimpleXMLElement object from a given string
  • array_walk_recursive(): iterates over each element of an array and applies a user-defined function to each element
  • addChild(): adds an element to the SimpleXMLElement object
  • asXML(): outputs the XML in a string

Helpful links

Edit this code on GitHub