100 % local — seus dados nunca saem do seu navegador

YAML para XML — nomes de elemento que funcionam

Converta YAML em XML. As chaves impossíveis como nome de elemento são reparadas e as colisões ganham sufixo: o documento abre na primeira tentativa.

Instantâneo Privado Zero cookies
Indentação

Entrada YAML

Saída XML

O que esta ferramenta faz

As chaves viram elementos, os valores viram o conteúdo deles.

usuario:
  nome: Ada
  nascimento: 1815
<usuario>
  <nome>Ada</nome>
  <nascimento>1815</nascimento>
</usuario>

Um documento com várias chaves na raiz é embrulhado em <root>, porque o XML admite exatamente um elemento raiz.

As chaves são reparadas, não emitidas quebradas

Um nome de elemento XML não pode ter espaço, não pode começar por dígito e se limita a um conjunto de caracteres:

chaveelemento
user name<user_name>
2nd<_2nd>
user-name<user-name> (já legal)

Escrever a chave como está produziria um arquivo que parece XML e que nenhum analisador aceitará — o tipo de saída que falha muito depois, em outro lugar.

Duas chaves reparadas para o mesmo nome

user name e user_name querem ambas ser user_name. A segunda vira user_name_1.

A alternativa é deixar uma sobrescrever a outra, e um valor que some sem dizer nada é justamente o que esta ferramenta procura não fazer.

As listas viram elementos repetidos

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

O XML não tem tipo lista: a repetição é a lista. O nome item precisa vir de algum lugar, e o YAML não oferece nenhum.

Atributos, se você quiser

Uma chave escrita "@_id" vira atributo, e "#text" vira o texto do elemento:

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

É a convenção que o sentido XML para YAML emite, então a ida e volta mantém a forma.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

O que acontece com uma chave que não é nome de elemento válido?
Ela é reparada. Um nome XML não pode ter espaço nem começar por dígito: `user name` vira `user_name` e `2nd` vira `_2nd`. Emitir a chave como está produziria um documento que analisador nenhum vai ler — um arquivo que parece certo até algo tentar abri-lo.
E se duas chaves forem reparadas para o mesmo nome?
`user name` e `user_name` dariam ambas `user_name`, então a segunda ganha sufixo: `user_name_1`. Fundi-las faria um valor sumir em silêncio, que é justamente o acidente que esta página existe para evitar.
Posso produzir atributos em vez de elementos?
Pode. Uma chave escrita `"@_id"` vira o atributo `id`, e uma chave `"#text"` vira o texto do elemento. É a mesma convenção que o sentido XML para YAML produz, então um documento convertido e reconvertido mantém a forma.

Conversores relacionados