Skip to content

Basic Usage

A35G edited this page Sep 10, 2026 · 1 revision

Basic Usage

From JSON to XML

use A35G\JsonToXml\JsonToXmlConverter;

$converter = new JsonToXmlConverter(
    rootName: 'root',       // name of the root tag
    itemNodeName: 'item',   // name used for "anonymous" lists with no key
    useCdata: true          // automatically wraps values that need it in CDATA
);

$xml = $converter->jsonToXmlString('{"name": "Mario", "age": 34}');
echo $xml;

Output:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <name>Mario</name>
  <age>34</age>
</root>

Two more convenient methods:

// Save directly to a file
$converter->jsonToXmlFile($jsonString, 'output.xml');

// Print the XML as an HTTP response
header('Content-Type: application/xml');
$converter->jsonToXmlStdOut($jsonString);

jsonToXmlStdOut() uses a temporary file internally, which is always deleted, even on error. If your system's temp directory isn't writable, set your own with $converter->setTempDir('/writable/path').

From XML to JSON

use A35G\JsonToXml\XmlToJsonConverter;

$converter = new XmlToJsonConverter();

$array = $converter->xmlToArray($xmlString);        // PHP array
$json  = $converter->xmlToJsonString($xmlString);    // JSON string

$converter->xmlFileToJsonFile('input.xml', 'output.json');

⬅️ Previous page: Home · ➡️ Next page: Conventions

Clone this wiki locally