Skip to content

Convertitore XML in JSON

Incolla XML e ottieni JSON istantaneamente. Converte attributi in chiavi @_, gestisce elementi ripetuti come array. 100% nel browser, nessun dato caricato, senza registrazione.

Niente tracciamento Funziona nel browser Gratuito
Opzioni · 2 spazi · XML → JSON
Rientro
0 caratteri
JSON Output
0 righe
Revisionato per la gestione della correttezza formale XML 1.0, la correttezza della convenzione @_/#text e la precisione della preservazione delle stringhe — Go Tools Engineering Team · May 29, 2026

Cos'è la Conversione XML-in-JSON e Come Funziona?

XML (Extensible Markup Language) e JSON (JavaScript Object Notation) sono entrambi formati di dati strutturati, ma hanno modelli fondamentalmente diversi: XML è un albero di elementi con attributi e contenuto misto (testo intercalato con elementi figlio); JSON è un albero di oggetti, array, stringhe, numeri, booleani e valori null. La conversione tra di essi richiede un insieme di convenzioni per colmare la differenza.

Questo strumento usa la convenzione più ampiamente adottata, la stessa usata da librerie popolari come fast-xml-parser (Node.js), xmltodict (Python) e JAXB (Java):

**1. Attributi → prefisso @_.** Gli attributi XML non hanno equivalenti diretti in JSON. La convenzione è di rappresentarli come chiavi con prefisso @_. Quindi diventa { "@_id": "42", "@_role": "admin" } dentro l'oggetto user. Questo prefisso è univoco: nessun nome di elemento XML valido inizia con @, quindi non c'è collisione con i nomi degli elementi figlio.

**2. Contenuto testuale dell'elemento con attributi → #text.** Quando un elemento ha sia attributi che contenuto testuale — 29.99 — il testo deve condividere lo stesso oggetto JSON con gli attributi. La convenzione è di memorizzarlo sotto la chiave #text, producendo { "@_currency": "USD", "#text": "29.99" }. Gli elementi con solo contenuto testuale e nessun attributo si convertono in un valore stringa semplice.

**3. Elementi fratelli ripetuti → array.** XML consente più elementi figlio con lo stesso nome; gli oggetti JSON non possono avere chiavi duplicate. La soluzione è raccogliere i fratelli con lo stesso nome in un array. Un figlio diventa un singolo oggetto; due o più figli diventano un array di oggetti. Questo è il dettaglio comportamentale più importante da capire: la forma JSON cambia in base al numero di fratelli che esistono nell'XML.

**4. Nessuna coercizione di tipo — tutti i valori rimangono stringhe.** XML non ha un sistema di tipi nativo per il contenuto testuale. Un valore di "123" in XML è una stringa. Convertirlo nel numero JSON 123 richiede di fare un'assunzione sull'intenzione dell'autore — un'assunzione che è sbagliata per i CAP ("01234" → 1234), i numeri di telefono, gli identificatori con padding e le stringhe decimali sensibili alla precisione. Questo strumento preserva tutti i valori come stringhe. Applica la coercizione di tipo nel tuo codice per i campi dove conosci il tipo.

**5. Con perdite per commenti, istruzioni di elaborazione e namespace.** XML supporta funzionalità che JSON non ha: commenti (), istruzioni di elaborazione (), e semantica dei namespace. Questi vengono scartati o approssimati durante la conversione. Per lavoro XML senza perdite — riformattazione, minificazione, validazione — usa il Formattatore XML. Per la conversione inversa — costruire XML da JSON — usa il Convertitore JSON in XML.

**Perché convertire XML in JSON?** JSON è il formato nativo di JavaScript e il formato di scambio predefinito per le API REST. Se ricevi XML da un servizio SOAP legacy, un feed RSS, una sitemap o un sistema enterprise, convertirlo in JSON ti permette di lavorare con i dati usando l'accesso standard agli oggetti JavaScript, le query JSON path e qualsiasi database o API consapevole di JSON. La conversione è un ponte a senso unico: utile per consumare dati XML in uno stack moderno, ma non per preservare o fare il round-trip di documenti XML.

// Convert XML to JSON in Node.js using fast-xml-parser
import { XMLParser } from 'fast-xml-parser';

const xml = `<catalog>
  <product id="P01">
    <name>Wireless Headphones</name>
    <price currency="USD">79.99</price>
  </product>
</catalog>`;

const parser = new XMLParser({
  ignoreAttributes: false,      // preserve attributes
  attributeNamePrefix: '@_',    // @_ prefix for attributes
  textNodeName: '#text',        // #text for mixed element content
  parseAttributeValue: false,   // no type coercion on attributes
  parseTagValue: false,         // no type coercion on element text
});

const result = parser.parse(xml);
console.log(JSON.stringify(result, null, 2));
// {
//   "catalog": {
//     "product": {
//       "@_id": "P01",
//       "name": "Wireless Headphones",
//       "price": {
//         "@_currency": "USD",
//         "#text": "79.99"
//       }
//     }
//   }
// }

Funzionalità Principali

Conversione in Tempo Reale

L'output JSON si aggiorna istantaneamente mentre digiti o incolli XML — nessun pulsante Converti necessario. Gli input grandi (>200 KB) passano automaticamente alla modalità manuale per mantenere il browser reattivo.

Convenzione del Prefisso @_ per gli Attributi

Gli attributi XML diventano chiavi JSON con prefisso @_, seguendo la convenzione fast-xml-parser e xmltodict. diventa { "@_attr": "val" } — univoco e senza collisioni con qualsiasi nome di elemento valido.

Rilevamento Automatico degli Array per Elementi Ripetuti

Gli elementi fratelli con lo stesso nome diventano automaticamente un array JSON. Un → oggetto; due o più elementi → array. Non è necessaria nessuna configurazione — lo strumento rileva le ripetizioni automaticamente.

Nessuna Coercizione di Tipo — I Valori Rimangono Stringhe

Tutti i valori XML sono preservati come stringhe JSON. Gli zeri iniziali, i numeri di telefono, i codici con padding e le stringhe dall'aspetto booleano come "true" o "false" non vengono mai convertiti silenziosamente in numeri o booleani.

Privacy 100% Basata su Browser

Tutta la conversione avviene localmente nel browser usando JavaScript. Il tuo XML — incluse credenziali, configurazioni interne e payload sensibili — non viene mai inviato ad alcun server, mai registrato e mai archiviato.

Segnalazione degli Errori di Correttezza Formale

Se il tuo XML non è ben formato, lo strumento segnala il numero esatto di riga e colonna del primo errore, così puoi individuare e correggere il problema immediatamente prima di convertire.

Esempi

File di Configurazione

<?xml version="1.0" encoding="UTF-8"?>
<appConfig version="2.1" env="production">
  <database>
    <host>db.example.com</host>
    <port>5432</port>
    <name>myapp_prod</name>
    <pool max="10" min="2"/>
  </database>
  <cache enabled="true">
    <ttl>3600</ttl>
    <driver>redis</driver>
  </cache>
</appConfig>

Una piccola configurazione applicativa con attributi ed elementi annidati. Gli attributi diventano chiavi con prefisso @_ nell'output JSON: version="2.1" diventa "@_version": "2.1" sotto appConfig, e gli attributi max e min dell'elemento pool diventano "@_max": "10" e "@_min": "2". Tutti i valori — inclusi port e ttl — rimangono stringhe, non numeri, perché il convertitore non esegue nessuna coercizione di tipo.

Frammento di Sitemap

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://go-tools.org/tools/xml-to-json</loc>
    <lastmod>2026-05-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://go-tools.org/tools/json-to-xml</loc>
    <lastmod>2026-05-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Un frammento di sitemap.xml con due URL. Poiché ci sono due elementi fratelli sotto , diventano un array JSON. La dichiarazione del namespace xmlns diventa "@_xmlns" sull'oggetto urlset. Il valore priority "0.8" rimane una stringa — nessuna coercizione numerica — quindi valori con zero iniziale come "0.08" sarebbero anch'essi preservati esattamente.

Elemento RSS

<item>
  <title>XML to JSON: A Practical Guide</title>
  <link>https://go-tools.org/blog/xml-to-json-guide</link>
  <pubDate>Thu, 29 May 2026 00:00:00 GMT</pubDate>
  <category>Developer Tools</category>
  <description>Learn how XML attributes map to @_ keys, how repeated elements become arrays, and why values stay strings in any XML-to-JSON conversion.</description>
  <guid isPermaLink="true">https://go-tools.org/blog/xml-to-json-guide</guid>
</item>

Un elemento item di RSS 2.0. L'elemento guid ha un attributo isPermaLink, quindi l'output JSON per guid diventa un oggetto con "@_isPermaLink": "true" e "#text": "https://go-tools.org/blog/xml-to-json-guide" — l'attributo e il contenuto testuale dell'elemento coesistono come chiavi fratelli. Tutti gli altri elementi hanno solo contenuto testuale e si convertono direttamente in valori stringa.

Come Usarlo

  1. 1

    Incolla il tuo XML

    Inserisci o incolla il tuo XML nel campo di input qui sopra. Puoi anche cliccare 'Carica esempio' per provare un campione — un file di configurazione, un frammento di sitemap o un elemento RSS.

  2. 2

    Vedi l'output JSON in tempo reale

    Il JSON appare istantaneamente nel pannello di output. Gli attributi diventano chiavi con prefisso @_, il contenuto testuale degli elementi misti diventa #text e gli elementi fratelli ripetuti diventano array. Regola il rientro (2 o 4 spazi) secondo necessità.

  3. 3

    Copia o Scarica

    Clicca Copia per portare il JSON negli appunti, o Scarica per salvarlo come file .json pronto per la tua applicazione, API o pipeline di dati.

Errori Comuni di Conversione

Dimenticare che i Valori Rimangono Stringhe

Il convertitore non esegue coercizione di tipo. Se il codice a valle si aspetta numeri JSON ma l'XML contiene stringhe numeriche, devi forzarli esplicitamente dopo la conversione. Affidarsi alla coercizione implicita stringa-numero (l'operatore == di JavaScript o gli operatori aritmetici) è soggetto a errori — usa sempre parseInt(), parseFloat() o Number() deliberatamente.

✗ Errato
// XML: <timeout>30</timeout>
// JSON output: { "timeout": "30" }  ← string, not number
// Dangerous: comparing as-is
if (config.timeout > 25) { ... }  // "30" > 25 coerces, but fragile
✓ Corretto
// XML: <timeout>30</timeout>
// JSON output: { "timeout": "30" }
// Safe: explicit coercion where you know the type
if (parseInt(config.timeout, 10) > 25) { ... }

Incompatibilità di Forma tra Elemento Singolo e Array

Quando c'è un solo elemento , l'output è un oggetto; quando ce ne sono due o più, diventa un array. Il codice del consumatore che esegue sempre result.items.forEach() andrà in crash quando items è un singolo oggetto. Normalizza sempre in un array dopo la conversione se il tuo schema ammette uno-o-molti.

✗ Errato
// XML with one item: <root><item>a</item></root>
// JSON: { "root": { "item": "a" } }  ← string, not array
result.root.item.forEach(i => console.log(i));  // TypeError: not a function
✓ Corretto
// Normalize to array regardless of count
const items = [].concat(result.root?.item ?? []);
items.forEach(i => console.log(i));  // safe for 0, 1, or many

Contenuto Misto: Testo e Chiave #text

Quando un elemento ha sia attributi che contenuto testuale, il testo va sotto #text. Accedere al valore testuale come se fosse una stringa semplice restituirà un oggetto. Controlla sempre se il valore di un elemento è una stringa o un oggetto con una chiave #text quando gli attributi sono possibili.

✗ Errato
// XML: <price currency="USD">29.99</price>
// JSON: { "price": { "@_currency": "USD", "#text": "29.99" } }
const amount = result.price;  // { "@_currency": "USD", "#text": "29.99" }, not "29.99"
✓ Corretto
// Handle both plain string and @_/#text object
const raw = result.price;
const amount = typeof raw === 'object' ? raw['#text'] : raw;  // "29.99"

Input XML Non Ben Formato

Il convertitore richiede XML ben formato. Cause comuni di errori di correttezza formale: & non codificato nel contenuto testuale (usa &), tag non corrispondenti ( vs — XML è sensibile alla maiuscola/minuscola), più elementi radice o tag non chiusi. Il messaggio di errore mostra la riga e la colonna del primo problema.

✗ Errato
<!-- Unescaped & — well-formedness error -->
<query>name = 'Alice' & role = 'admin'</query>
✓ Corretto
<!-- Escaped & — valid XML -->
<query>name = 'Alice' &amp; role = 'admin'</query>

Valori con Zero Iniziale Corrotti dalla Coercizione

Questo strumento preserva gli zeri iniziali perché non esegue coercizione di tipo. Se elabori il JSON successivamente con una libreria che esegue la coercizione (alcuni validatori di schema JSON, mapper ORM), lo zero iniziale potrebbe andare perso. Dichiara sempre il tipo del campo esplicitamente come stringa nel tuo schema.

✗ Errato
// XML: <zipCode>01234</zipCode>
// This tool outputs: { "zipCode": "01234" }  ← correct
// But if a downstream schema coerces:
// { zipCode: z.number() }  → 1234  ← leading zero lost
✓ Corretto
// Declare ZIP codes and other padded identifiers as strings
// { zipCode: z.string() }  → "01234"  ← correct

Casi d'Uso Comuni

Consumo di API SOAP / XML Legacy
I servizi enterprise legacy (bancari, assicurativi, logistici) espongono spesso API SOAP che restituiscono XML. Converti la risposta in JSON per lavorare con i dati usando tooling JavaScript moderno, archiviarla in un database documentale o inoltrarla a un consumatore di API REST.
Elaborazione di Feed RSS e Atom
I feed RSS 2.0 e Atom 1.0 sono XML. Converti l'XML del feed in JSON per estrarre titoli, link, date di pubblicazione e descrizioni per aggregatori di feed, pipeline di contenuti e sistemi di notifica senza dipendere da una libreria di parsing XML.
Parsing di File Sitemap
I file sitemap.xml enumerano gli URL di un sito con metadati. Converti una sitemap in JSON per analizzare la copertura degli URL, costruire code di crawling, confrontare sitemap tra ambienti o alimentare URL in un link checker o strumento di audit SEO.
Trasformazione di File di Configurazione
Molti sistemi enterprise (Spring, Maven, Ant, JBoss, Tomcat) usano file di configurazione XML. Convertili in JSON per analisi, script di migrazione, generazione di documentazione o importazione in strumenti che parlano nativamente JSON.
Sviluppo Mobile e Android
Le risorse Android, i file di layout e AndroidManifest.xml sono tutti XML. Convertili in JSON per script di analisi, audit automatici o generazione di documentazione sulle autorizzazioni dichiarate, le activity e i valori delle risorse.
Migrazione Dati ed ETL
Le esportazioni di dati da sistemi enterprise (ERP, CRM, buste paga) arrivano spesso come XML. Converti in JSON come primo passo in una pipeline ETL per caricare i dati in un data store nativo JSON come MongoDB, Firestore o un'API REST.

Dettagli Tecnici

DOMParser del Browser per l'Analisi XML
L'input XML viene analizzato usando il DOMParser nativo del browser con il tipo MIME 'text/xml' — lo stesso motore usato per il rendering di SVG e XHTML. È completamente conforme a XML 1.0 e segnala gli errori di correttezza formale con informazioni di riga e colonna. Questo approccio gestisce correttamente namespace, sezioni CDATA, istruzioni di elaborazione e riferimenti a entità senza alcuna dipendenza da terze parti.
Serializzazione DOM-in-JSON Ricorsiva
Dopo l'analisi, lo strumento attraversa l'albero DOM ricorsivamente. I nodi elemento diventano oggetti JSON; i loro attributi diventano chiavi con prefisso @_; gli elementi solo-testo diventano valori stringa semplici; gli elementi con sia attributi che contenuto testuale ottengono una chiave #text per il contenuto testuale. Gli elementi fratelli con lo stesso nome vengono raccolti e restituiti come array JSON. I nodi di testo contenenti solo spazi bianchi tra gli elementi vengono scartati.
Nessuna Coercizione di Tipo — Preservazione delle Stringhe
Tutti i valori degli attributi e il contenuto testuale vengono scritti nell'output JSON come stringhe. Non viene applicato nessun parseInt, parseFloat o parsing booleano. Questa è una scelta di design deliberata per prevenire la corruzione silenziosa dei dati per valori con zero iniziale, decimali sensibili alla precisione e stringhe dall'aspetto booleano. La coercizione di tipo, dove necessaria, dovrebbe essere applicata esplicitamente nel codice a valle.
100% Basato su Browser — Nessun Upload, Nessun Server
Tutta l'elaborazione avviene nel motore JavaScript del browser. Nessun dato viene trasmesso in rete in nessun momento. Gli input superiori a 200 KB passano automaticamente dalla modalità in tempo reale alla modalità manuale (richiedendo un clic esplicito su Converti) per mantenere il browser reattivo e prevenire il blocco del thread principale durante l'attraversamento pesante del DOM.

Buone Pratiche

Valida Prima la Correttezza Formale dell'XML
Se la tua sorgente XML è scritta a mano o generata da un sistema che occasionalmente produce output non valido, validala prima di convertire. Usa il pulsante Valida del Formattatore XML per confermare che l'XML sia ben formato e ottenere posizioni di errore precise per eventuali problemi.
Normalizza i Campi Uno-o-Molti in Array
Quando il tuo schema XML ammette uno o molti elementi figlio con lo stesso nome, l'output JSON sarà un oggetto per un elemento e un array per molti. Normalizza sempre questi campi nel codice del consumatore: const items = [].concat(result.items ?? []) — questo è sicuro per zero, uno o molti e previene TypeError.
Applica la Coercizione di Tipo Esplicitamente e Selettivamente
Poiché questo strumento preserva tutti i valori come stringhe, applica la coercizione di tipo deliberatamente nel tuo codice per i campi specifici che ne hanno bisogno. Usare parseInt(val, 10) per un campo intero noto è sicuro. Applicare la coercizione in modo ampio con Number(val) rischia di corrompere valori con zero iniziale, stringhe vuote e decimali sensibili alla precisione.
Controlla #text quando Accedi ai Valori degli Elementi
Se un elemento può avere attributi in alcuni payload e non in altri, il suo valore JSON sarà o una stringa semplice (nessun attributo) o un oggetto con chiavi @_ e una chiave #text (con attributi). Scrivi accessor robusti: const val = typeof node === 'object' ? node['#text'] : node. Questo pattern gestisce entrambe le forme ed evita valori undefined silenziosi.
Per Lavoro XML Senza Perdite, Usa il Formattatore XML
La conversione XML-in-JSON elimina commenti, istruzioni di elaborazione e semantica dei namespace. Se hai bisogno di preservare tutto il contenuto XML esattamente, usa il Formattatore XML per abbellire, minificare e validare senza alcuna perdita. Converti in JSON solo quando hai bisogno di lavorare con i dati in un contesto nativo JSON.

Domande Frequenti

I miei dati XML vengono inviati a un server quando uso questo strumento?
No. Tutta la conversione avviene interamente nel browser usando JavaScript. Il tuo XML non viene mai trasmesso in rete, mai archiviato su alcun server e mai registrato o analizzato. Questo rende lo strumento sicuro da usare con payload XML contenenti credenziali API, configurazioni di servizi interni, token SOAP WS-Security, dati sanitari HL7/FHIR o qualsiasi altro contenuto sensibile. Puoi verificarlo aprendo la scheda Rete del browser — vedrai zero richieste attivate dall'incollaggio o dalla conversione dell'XML.
Come vengono mappati gli attributi XML nell'output JSON?
Gli attributi XML diventano chiavi JSON con prefisso @_. Ad esempio, produce un oggetto JSON contenente "@_id": "P01" e "@_category": "electronics" accanto alle chiavi degli elementi figlio. Quando un elemento ha sia attributi che contenuto testuale — come 29.99 — il contenuto testuale è memorizzato sotto la chiave speciale "#text", quindi il risultato è { "@_currency": "USD", "#text": "29.99" }. Questa convenzione è coerente e prevedibile: @_ significa sempre attributo, #text significa sempre contenuto testuale dell'elemento.
Il convertitore forza numeri o booleani?
No. Tutti i valori degli attributi e il contenuto testuale degli elementi XML diventano stringhe JSON, indipendentemente dal loro aspetto. 42 diventa "count": "42", non 42. true diventa "enabled": "true", non true. Questo è intenzionale e importante: preserva gli zeri iniziali (numeri di telefono, codici conto, CAP come "01234"), la precisione numerica per valori come "0.100" e i valori stringa che sembrano booleani. Se hai bisogno di numeri o booleani nel tuo JSON a valle, applica la coercizione di tipo nel tuo codice dopo la conversione — dove controlli esattamente quali campi vengono forzati.
Come vengono gestiti gli elementi ripetuti (fratelli con lo stesso nome)?
Un singolo elemento figlio diventa un oggetto JSON. Due o più elementi figlio con lo stesso nome di tag sotto lo stesso genitore diventano un array JSON. Ad esempio, a produce { "root": { "item": "a" } } — item è un oggetto (stringa). Ma ab produce { "root": { "item": ["a", "b"] } } — item è un array. Questo significa che la struttura dell'output JSON dipende dal numero di elementi fratelli nell'XML, il che è uno dei motivi per cui la conversione XML-JSON è basata su convenzioni. Se il tuo schema XML può avere uno o molti elementi, il codice del consumatore deve gestire entrambi i casi oggetto e array.
La conversione XML-in-JSON è senza perdite?
No. XML ha funzionalità che non hanno equivalenti JSON e vengono eliminate durante la conversione: i commenti XML () vengono scartati, le istruzioni di elaborazione () vengono scartate, i binding dei prefissi di namespace sono parzialmente preservati come attributi @_ ma la loro semantica non lo è, e l'ordine relativo dei nodi di contenuto misto (testo intercalato con elementi figlio) potrebbe non fare il round-trip perfettamente. Per l'XML puramente strutturale senza commenti o istruzioni di elaborazione, la conversione preserva tutti i nomi degli elementi, i nomi degli attributi, i valori degli attributi e il contenuto testuale. Per lavoro XML senza perdite — formattazione, validazione o ispezione XML senza alcuna perdita di dati — usa il Formattatore XML.
Come si converte JSON di nuovo in XML?
Usa il nostro strumento complementare Convertitore JSON in XML. Applica le stesse convenzioni al contrario: le chiavi con prefisso @_ diventano attributi XML, le chiavi #text diventano contenuto testuale degli elementi e gli array JSON diventano elementi fratelli con lo stesso nome ripetuto. Questo rende i due strumenti simmetrici per i casi d'uso di round-trip.
Cosa succede ai namespace XML?
Le dichiarazioni di namespace (xmlns="..." e xmlns:prefix="...") sono trattate come attributi regolari e appaiono nell'output JSON come chiavi @_xmlns e @_xmlns:prefix. Il prefisso di namespace nei nomi degli elementi è preservato come parte della chiave del nome dell'elemento (ad es., diventa "soap:Body" nel JSON). Il significato semantico dei namespace — che due prefissi potrebbero puntare allo stesso URI — non viene interpretato. Se la gestione precisa dei namespace è importante per il tuo caso d'uso, analizza l'XML con un parser consapevole dei namespace invece di convertirlo in JSON.
Perché 0123 diventa "0123" e non 123?
Perché il convertitore non esegue nessuna coercizione di tipo. La stringa "0123" e il numero 123 sono valori diversi: "0123" ha uno zero iniziale che è significativo in molti contesti (codici conto, codici postali, numeri di identificazione nazionali, identificatori con padding). Eliminare silenziosamente quello zero iniziale corromperebbe i dati. L'impostazione predefinita sicura è preservare tutti i valori come stringhe esattamente come appaiono nell'XML. Applica l'analisi numerica in modo selettivo nel tuo codice per i campi specifici dove sai che il valore è sempre un intero semplice.
Qual è la differenza tra questo strumento e un formattatore XML?
Il Formattatore XML riformatta l'XML — cambia l'indentazione e gli spazi bianchi ma l'output è ancora XML. Questo Convertitore XML in JSON cambia completamente il formato: l'output è un documento JSON che rappresenta la struttura XML usando la convenzione degli attributi @_. Usa il formattatore quando vuoi leggere, modificare, validare o minificare XML. Usa questo convertitore quando hai bisogno di lavorare con i dati XML in un'applicazione JavaScript, passarli a un'API REST o archiviarli in un document store JSON.
C'è un limite di dimensione?
Non c'è un limite rigido, ma gli input superiori a 200 KB passano automaticamente dalla conversione in tempo reale alla modalità manuale. In modalità manuale appare un pulsante Converti e la conversione viene eseguita solo quando lo clicchi — questo mantiene il browser reattivo durante l'analisi di grandi documenti XML. Per file XML molto grandi (esportazioni di dati da più megabyte), considera strumenti da riga di comando per prestazioni migliori: python3 -c "import sys, xmltodict, json; print(json.dumps(xmltodict.parse(sys.stdin.read()), indent=2))" o node -e con una libreria XML-to-JSON dedicata.
Il convertitore gestisce le sezioni CDATA?
Sì. Il contenuto delle sezioni CDATA () è trattato come contenuto testuale dell'elemento e appare come valore stringa semplice nell'output JSON. I delimitatori CDATA stessi vengono rimossi — viene preservato solo il contenuto interno. Ad esempio, produce "note": "if (a < b) return;" in JSON. Questo è il comportamento corretto: CDATA è solo un modo per incorporare testo con caratteri speciali senza codificarli; il significato semantico è il contenuto testuale.
Posso convertire XML con più elementi radice?
No. L'XML con più elementi radice non è ben formato e questo strumento richiede input XML ben formato. Se il tuo parser XML ti dà più elementi radice (comune quando si assemblano frammenti XML), avvolgili in un singolo elemento radice prima di convertire. Ad esempio, se hai , convertilo come . Il messaggio di errore indicherà la posizione del problema di correttezza formale così puoi correggerlo rapidamente.

Strumenti correlati

Vedi tutti gli strumenti →