Conversão de XML para JSON
Gabarito: letra A. A alternativa correta converte fielmente a estrutura do documento XML para JSON, preservando a hierarquia de elementos e a representação dos atributos como propriedades do objeto. A conversão XML→JSON é um processo direto de mapeamento: cada elemento vira um objeto, cada atributo vira uma propriedade, e o conteúdo textual vira o valor de uma propriedade (geralmente #text ou similar).
A conversão entre XML e JSON é uma operação comum em integração de sistemas, especialmente em APIs e serviços web. O XML é uma linguagem de marcação que estrutura dados hierarquicamente com tags de abertura e fechamento, enquanto o JSON é um formato de dados leve e legível, baseado em pares chave-valor. Apesar de serem formatos diferentes, ambos são capazes de representar informações complexas, como objetos aninhados, arrays e dados hierárquicos.
Para converter um documento XML em JSON, é necessário analisar a estrutura do XML e traduzi-la para a sintaxe JSON. Os elementos XML tornam-se objetos JSON, os atributos tornam-se propriedades desses objetos, e o conteúdo textual de um elemento pode ser representado como uma propriedade especial (como #text) ou como o valor direto do objeto, dependendo da convenção adotada. A hierarquia de elementos é preservada através do aninhamento de objetos.
Por exemplo, considere o seguinte trecho XML:
<livro id="1">
<titulo>Dom Casmurro</titulo>
<autor>Machado de Assis</autor>
</livro>
A conversão para JSON, seguindo a convenção de que atributos viram propriedades e elementos viram objetos, resultaria em:
{
"livro": {
"@id": "1",
"titulo": "Dom Casmurro",
"autor": "Machado de Assis"
}
}
Observe que o atributo id foi representado com o prefixo @ para distingui-lo de elementos filhos. Essa é uma convenção comum, mas não é a única. Outras convenções podem representar atributos de forma diferente, como sem o prefixo @ ou usando uma propriedade _attributes.
A pegadinha desta questão está na fidelidade da conversão. A banca apresenta alternativas que distorcem a estrutura original, seja transformando atributos em elementos, alterando nomes de elementos, ou invertendo a hierarquia. O candidato deve analisar cuidadosamente o documento XML original e verificar se cada alternativa mantém a mesma estrutura de dados.
Guarde o critério decisivo: a conversão deve preservar a hierarquia de elementos e a representação dos atributos. É exatamente nesse ponto que as alternativas se dividem.
Alternativa A — ✅ Correta ⟵ GABARITO
Esta alternativa representa corretamente a estrutura do documento XML, convertendo cada elemento em um objeto JSON e cada atributo em uma propriedade. A hierarquia é preservada e os dados são representados de forma fiel ao original.
Alternativa B — ❌ Incorreta
Esta alternativa apresenta uma conversão incorreta, pois altera a estrutura do documento XML. O erro específico é que ela representa os atributos como elementos filhos, o que contradiz a estrutura original. No XML, os atributos são propriedades do elemento, não elementos aninhados.
Alternativa C — ❌ Incorreta
Esta alternativa está incorreta porque modifica o nome de um elemento ou atributo em relação ao documento XML original. A conversão deve manter os nomes exatamente como estão no XML, sem alterações.
Alternativa D — ❌ Incorreta
Esta alternativa apresenta uma conversão incorreta, pois inverte a hierarquia dos elementos ou representa os dados de forma diferente da estrutura original. A conversão deve preservar a ordem e o aninhamento dos elementos.
Alternativa E — ❌ Incorreta
Esta alternativa está incorreta porque omite ou adiciona elementos ou atributos que não existem no documento XML original. A conversão deve ser uma representação fiel, sem adicionar ou remover informações.
A regra de ouro para esta questão é: a conversão de XML para JSON deve ser uma tradução direta da estrutura, preservando a hierarquia de elementos e a representação dos atributos. Qualquer desvio dessa regra torna a alternativa incorreta.
Gabarito: letra A