JSON to XML - Piccola libreria in PHP

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
domejson
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>
→
« Nintai 忍耐
Kuyashi 悔し »