JSON to XML - Piccola libreria in PHP

- Pubblicato in Projects di - Permalink

enter image description here

Libreria PHP per convertire una stringa JSON in un documento XML valido (e viceversa), con supporto per attributi, CDATA automatico e mixed content.

Requisiti

  • PHP >= 8.1
  • estensioni dom e json

Installazione

composer require a35g/json-to-xml

Uso base

use A35G\JsonToXml\JsonToXmlConverter;

$converter = new JsonToXmlConverter(rootName: 'root', itemNodeName: 'item', useCdata: true);

$xml = $converter->jsonToXmlString($jsonString);
// oppure, per salvare direttamente su file:
$converter->jsonToXmlFile($jsonString, 'output.xml');

// oppure, per stampare l'XML direttamente in output (es. risposta HTTP):
header('Content-Type: application/xml');
$converter->jsonToXmlStdOut($jsonString);

Convenzioni supportate nel JSON

Chiave JSON Risultato XML
"nome": "valore" elemento figlio <nome>valore</nome>
"@nome": "valore" attributo nome="valore" sul nodo corrente
"#text": "valore" testo diretto del nodo (va comunque in CDATA se il contenuto lo richiede)
"nome": [ {...}, {...} ] il nodo <nome> viene ripetuto una volta per elemento, senza wrapper

Attributi

{
  "request": {
    "@code": "",
    "@typeReq": "ABC",
    "cliente": "Mario Rossi"
  }
}
<request code="" typeReq="ABC">
  <cliente>Mario Rossi</cliente>
</request>

Maggiori informazioni disponibili su GitHub e Packagist.

→