100 % locale — i tuoi dati non lasciano mai il tuo browser

YAML in XML — nomi di elemento che funzionano

Converti YAML in XML. Le chiavi non valide come nome di elemento vengono riparate e le collisioni prendono un suffisso: il documento si analizza subito.

Istantaneo Privato Zero cookie
Indentazione
Inverti: XML → YAML

Input YAML

Output XML

Che cosa fa questo strumento

Le chiavi diventano elementi, i valori il loro contenuto.

utente:
  nome: Ada
  nascita: 1815
<utente>
  <nome>Ada</nome>
  <nascita>1815</nascita>
</utente>

Un documento con più chiavi alla radice viene avvolto in <root>, perché l’XML ammette esattamente un elemento radice.

Le chiavi sono riparate, non emesse rotte

Un nome di elemento XML non può contenere spazi, non può iniziare con una cifra ed è limitato a un insieme preciso di caratteri:

chiaveelemento
user name<user_name>
2nd<_2nd>
user-name<user-name> (già lecito)

Scrivere la chiave così com’è produrrebbe un file che somiglia a XML e che nessun parser accetterà: il genere di uscita che fallisce molto più tardi, altrove.

Due chiavi riparate nello stesso nome

user name e user_name vogliono entrambe essere user_name. La seconda diventa user_name_1.

L’alternativa è lasciare che una sovrascriva l’altra, e un valore che sparisce senza dire nulla è esattamente ciò che questo strumento cerca di non fare.

Gli elenchi diventano elementi ripetuti

items:
  - 1
  - 2
<items>
  <item>1</item>
  <item>2</item>
</items>

L’XML non ha un tipo elenco: la ripetizione è l’elenco. Il nome item deve pur venire da qualche parte, e lo YAML non ne propone nessuno.

Attributi, se li vuoi

Una chiave scritta "@_id" diventa un attributo, e "#text" diventa il testo dell’elemento:

"@_id": 1
"#text": ciao
<root id="1">ciao</root>

È la convenzione emessa dal verso XML verso YAML, quindi l’andata e ritorno conserva la forma.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Che succede a una chiave che non è un nome di elemento valido?
Viene riparata. Un nome XML non può contenere spazi né iniziare con una cifra: `user name` diventa `user_name` e `2nd` diventa `_2nd`. Emettere la chiave così com’è produrrebbe un documento che nessun parser leggerà — un file che sembra a posto finché qualcosa non prova ad aprirlo.
E se due chiavi vengono riparate nello stesso nome?
`user name` e `user_name` darebbero entrambe `user_name`, quindi la seconda riceve un suffisso: `user_name_1`. Fonderle farebbe sparire un valore in silenzio, cioè proprio l’incidente che questa pagina esiste per evitare.
Posso produrre attributi invece di elementi?
Sì. Una chiave scritta `"@_id"` diventa l’attributo `id`, e una chiave `"#text"` diventa il testo dell’elemento. È la stessa convenzione prodotta dal verso XML verso YAML, quindi un documento convertito e riconvertito conserva la forma.

Convertitori correlati