Codificador de entidades XML
Escapa os cinco caracteres que o XML reserva, então “Tom & Jerry <3” vira “Tom & Jerry <3”, e converte &, <, >, ' e " de volta em caracteres comuns. Um nome desconhecido é recusado em vez de passar despercebido. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- Tom & Jerry <3
- Modo de cálculo
- Encode
- Resultado
- Tom & Jerry <3
- Codificação
- xml_entities
- Comprimento da entrada
- 14
- Comprimento da saída
- 21
Este codificador de entidades XML converte os cinco caracteres especiais que o XML reserva para a estrutura da marcação nas suas entidades nomeadas predefinidas, e reverte o mesmo mapeamento quando você cola texto escapado de volta em caracteres comuns. A codificação reescreve ampersand, menor que, maior que, apóstrofo e aspas duplas para que o conteúdo de elementos e os valores de atributos permaneçam seguros sem quebrar tags nem delimitadores. A decodificação aceita apenas as cinco formas predefinidas &, <, >, ' e ", e falha de forma explícita diante de nomes desconhecidos, referências numéricas ou entidades incompletas, para que erros de digitação não sobrevivam em silêncio no XML de produção. O caminho é totalmente determinístico: o mesmo texto e modo produzem sempre o mesmo resultado, sem chamadas de rede, sais aleatórios nem atalhos dependentes da data. Verificações simples incluem codificar Tom & Jerry em Tom & Jerry e decodificar <tag> de volta a colchetes angulares.
O que são as cinco entidades XML predefinidas e o que esta ferramenta devolve
O XML define exatamente cinco entidades de caractere predefinidas que todo processador conforme deve reconhecer sem uma declaração DTD. O ampersand inicia uma referência de caractere ou de entidade, de modo que um ampersand literal em texto ou atributos deve ser escrito como & se você pretende o glifo e não o início de outra referência. Menor que e maior que abrem e fecham tags, por isso tornam-se < e > quando você quer esses símbolos como dados.
O apóstrofo e as aspas duplas costumam delimitar valores de atributos, tornando-se ' e " quando aparecem dentro de atributos citados no mesmo estilo. Esta página implementa esse conjunto clássico de codificação no caminho encode e o inverso no decode: apenas essas cinco formas nomeadas são reescritas. Diferente de uma ferramenta geral de entidades HTML, esta landing não aceita , © nem centenas de outros nomes HTML, e não expande referências numéricas decimais &#N; nem hexadecimais &#xH;.
Esse contrato estreito atende autores que precisam de higiene estrita das entidades predefinidas XML, e não de uma tabela completa de entidades HTML.
Onde o encode e o decode de entidades XML se encaixam nos fluxos de marcação
Equipes de frontend e backend codificam títulos e rótulos dinâmicos antes de colocá-los no conteúdo de elementos ou em atributos citados, para que um único ampersand ou colchete angular não quebre a marcação ao redor. Autores de pipelines decodificam exportações carregadas de entidades de sistemas legados para que o código da aplicação trabalhe com aspas e ampersands reais em vez de sequências literais &.
Engenheiros de qualidade geram pares determinísticos de encode e decode para testes de contrato, de modo que um middleware que afirme suporte a entidades XML não possa trocar em silêncio para nomes só HTML ou referências numéricas entre versões. Educadores usam a mesma ferramenta ao ensinar a diferença entre as cinco entidades XML predefinidas, as entidades nomeadas HTML e as referências numéricas que alguns parsers HTML aceitam de forma mais frouxa.
Casos de uso
Texto seguro em elementos e atributos XML
Codifique títulos, rótulos e trechos de usuário para que ampersands, aspas e colchetes angulares não quebrem tags nem atributos em XML bem formado.
Limpeza de feeds e configs legados
Decodifique as cinco entidades XML predefinidas de feeds exportados, configs ou campos de banco de dados de volta a Unicode simples para processadores modernos.
Perguntas frequentes
Quais caracteres são codificados?
O modo encode reescreve &, <, >, ' e " em &, <, >, ' e ". Os demais caracteres permanecem inalterados.
O que acontece se uma entidade for desconhecida ou numérica?
Só se aceitam &, <, >, ' e "; nomes HTML e formas &#N; / &#xH; são rejeitados.
O resultado é determinístico?
Sim. O mesmo texto e modo produzem sempre o mesmo resultado, sem rede, aleatoriedade nem comportamento dependente da data.
Por que aparece &lt; quando codifico o texto duas vezes?
Porque a codificação reescreve todo e-comercial, inclusive o que abre uma entidade já escrita. Se você passar texto já escapado pela codificação de novo, < vira &lt;; codifique o texto puro uma vez só e use a decodificação para voltar.
Qual a diferença para um codificador de entidades HTML?
Este trabalha só com as cinco entidades que o XML predefine. Nomes do HTML como ou © são recusados na decodificação, e referências numéricas como ' também não são expandidas.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/xml-entities \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Tom & Jerry <3"}'const res = await fetch("https://api.kit.forhosting.com/enc/xml-entities", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Tom & Jerry <3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/xml-entities",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Tom & Jerry <3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/xml-entities", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Tom & Jerry <3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Tom & Jerry <3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/xml-entities", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Tom & Jerry <3"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.xml_entities",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Use grátis no navegador para higiene de configuração e limpeza de conteúdo, ou chame a API a US$ 0,002 por solicitação bem-sucedida quando pipelines precisarem de transformações de entidades XML reproduzíveis em CI e serviços backend.
O que são as cinco entidades XML predefinidas e o que esta ferramenta devolve
A resposta JSON sempre inclui result para a string transformada, mode ecoando encode ou decode, encoding fixo em xml_entities, e input_length mais output_length para que testes possam afirmar tamanhos. Encode também reporta entities_encoded e decode reporta entities_decoded para confirmar quantos caracteres especiais ou referências nomeadas foram reescritos. Não há omissão silenciosa parcial de entidades completas desconhecidas: ou cada &name; completo é uma das cinco formas predefinidas ou a solicitação falha com invalid_input.
Como text e mode são lidos e como os resultados permanecem reproduzíveis
Encode percorre a string caractere a caractere e substitui apenas os cinco caracteres especiais pelas formas de entidade preferidas, deixando letras, dígitos e o restante do Unicode inalterados para que o texto legível continue legível. Como o ampersand é reescrito no mesmo passe da esquerda para a direita que os demais especiais, você não codifica duas vezes um fragmento já escapado em um segundo passe acidental a menos que envie de novo texto de entidades para encode. Decode procura sequências bem formadas &name;: um nome iniciado por letra, com letras e dígitos, terminando em ponto e vírgula. Formas numéricas como ' e ' também são rejeitadas porque não estão entre as cinco entidades nomeadas predefinidas que esta ferramenta implementa. Esboços incompletos que iniciam uma sequência semelhante a entidade sem ponto e vírgula final falham de forma fechada. O campo preferido do payload é text, com aliases input, value, s e xml, para que formulários, query strings e clientes SDK reutilizem o mesmo contrato sem renomear colunas. Mode tem padrão encode e aceita decode explicitamente; os aliases op, direction e action mapeiam para o mesmo seletor em scripts que já usam esses nomes, e escape ou unescape são aceitos como sinônimos. Ampersands soltos que não formam uma referência completa ficam intactos para não destruir rascunhos incompletos, mas um nome completo desconhecido como ou ¬anentity; lança invalid_input com uma mensagem que nomeia a referência incorreta. O teto de comprimento de cem mil caracteres mantém a memória do Worker previsível e ainda cobre templates, documentos de amostra e a maioria dos buffers de colagem. Combine a execução gratuita no navegador nesta página com a API paga quando precisar do mapeamento idêntico dentro de um pipeline automatizado sem reimplementar as tabelas de entidades XML. Entradas inválidas devolvem invalid_input e não são cobradas, o que mantém a validação barata enquanto transformações bem-sucedidas permanecem a um preço fixo por item de US$ 0,002.
Onde o encode e o decode de entidades XML se encaixam nos fluxos de marcação
Desenvolvedores encontram as cinco entidades XML predefinidas ao incorporar texto de usuário em arquivos de configuração, cargas SOAP ou REST em XML, atributos SVG, feeds RSS e Atom, e qualquer documento que deva permanecer bem formado sob um parser XML estrito. Nesta página o trabalho roda inteiramente no seu navegador; pela API cada consulta bem-sucedida custa US$ 0,002, a validação falha não é cobrada e nada é armazenado após a resposta. Essa divisão — exploração interativa gratuita e uma API de preço idêntico — combina com o restante do catálogo KIT de nível A e permite ir de uma demonstração em sala de aula a um pipeline automatizado sem alterar o resultado codificado. Combine com auxiliares XML-to-JSON ou de entidades HTML quando precisar de conversão de marcação mais ampla, e com outros endpoints de codificação ao montar um pequeno laboratório de ferramentas de texto gratuitas e determinísticas para CI e documentação.
Casos de integração
Fixtures determinísticas de CI
Gere pares reproduzíveis de encode e decode para testes unitários, arquivos golden e checagens de contrato em serviços que emitem XML.
Perguntas técnicas
Quanto custa o codificador de entidades XML?
É grátis no seu navegador nesta página. Pela API uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.
Quais modos são suportados?
mode=encode (padrão) transforma os cinco caracteres especiais em entidades. mode=decode devolve apenas as cinco entidades nomeadas predefinidas a caracteres.