Ir para o conteúdo
OneKitly

Uma coluna chamada «Total (€)» não pode ser um nome de elemento XML

Publicado a 15/09/2026 · 4 min de leitura · Ferramentas de ficheiros

Daniel Okonkwo

Daniel OkonkwoProgramador front-end e redator de Tecnologia na OneKitly

Desempenho web · Formatos de ficheiro

Verificado a partir de 3 fontes

Ver perfil
Em resumo

Ambas as exportações leem a primeira linha como nomes de campo e depois cada uma tem de obedecer às regras do seu próprio formato. O JSON quase não tem: uma chave pode ser qualquer cadeia, por isso uma coluna intitulada «Total (€)» torna-se a chave «Total (€)» tal e qual, e uma coluna sem rótulo torna-se a chave «» — incómodo mas fiel. O XML tem regras estritas sobre os nomes, e o texto de um cabeçalho costuma infringi-las. Medido sobre uma folha de quatro colunas: «Produit» continua Produit, «Total (€)» passa a Total_, «2026 ventes» passa a _ventes porque um nome não pode começar por um algarismo, e um cabeçalho vazio passa a column4. Nada é suprimido — cada caractere proibido num nome é dobrado em sublinhado em vez de apagado — mas dois cabeçalhos diferentes podem normalizar-se para o mesmo nome de elemento, e convém verificá-lo antes de dar o resultado a algo que os espera distintos. Os valores são escapados e não alterados: um e comercial ou um sinal de maior numa célula atravessa intacto.

O JSON toma o texto do teu cabeçalho como chave, exatamente tal e qual. O XML não pode — os seus nomes não admitem espaços, parênteses nem um algarismo inicial — por isso são normalizados, e saber como evita uma surpresa a jusante.

A linha vazia que só alguns formatos emitem

Uma folha com uma linha totalmente vazia no meio exporta-se de forma diferente conforme a forma do destino. Os formatos por linhas conservam-na: o CSV de uma folha de quatro colunas com uma linha vazia contém uma linha feita de três vírgulas, e o TSV de três tabulações — porque uma linha é uma linha e o formato não tem noção de registo ausente. Os formatos por objetos descartam-na: o JSON emitiu dois objetos para três linhas de dados no mesmo teste. O XML é por linhas por construção e tê-la-ia conservado naturalmente, o que faria com que um mesmo ficheiro se contradissesse entre duas exportações da mesma ferramenta. Descarta pois a linha vazia, e JSON e XML concordam.

Que destino para que consumidor

JSON quando o vai ler um script ou uma API, porque as chaves sobrevivem tal e qual e quem lê pode designar uma coluna pelo seu nome real. XML quando o consumidor é um sistema antigo, uma integração de empresa ou qualquer coisa que valide contra um esquema — e verifica antes os nomes de elementos contra esse esquema, já que a normalização pode não produzir o que ele espera. TSV quando o destino é um carregamento em base de dados ou um encadeamento de shell: uma tabulação tem muito menos hipóteses de aparecer dentro de uma célula do que uma vírgula, por isso um ficheiro separado por tabulações precisa de menos aspas e parte-se menos. HTML quando alguém só quer olhar para a tabela num navegador ou colá-la num documento.

Quatro cabeçalhos através das duas exportações
Cabeçalho na folhaChave JSONElemento XML
Produit«Produit»<Produit>
Total (€)«Total (€)»<Total_>
2026 ventes«2026 ventes»<_ventes> — sem algarismo inicial
(sem cabeçalho)«»<column4>
Excel para XMLExporta uma folha como XML bem formado, com o cabeçalho a nomear cada elemento.Experimentar a ferramenta

Perguntas frequentes

E se dois cabeçalhos se normalizarem para o mesmo nome de elemento?
Obténs dois elementos com o mesmo nome dentro de cada linha, o que é XML válido e normalmente não é o que um consumidor quer. «Total (€)» e «Total (£)» passam ambos a Total_, por exemplo. Renomeia as colunas na folha antes de converter — é o único sítio onde a ambiguidade pode ser levantada, já que uma vez produzido o XML os cabeçalhos originais desapareceram.
Os caracteres acentuados passam nos dois formatos?
Nos valores, sim — ambos são escritos em UTF-8 e o XML declara-o no seu prólogo. Nos nomes de elementos XML as regras são mais largas do que parecem: um nome pode conter letras acentuadas, de modo que um cabeçalho «Quantité» seria um elemento válido. Este conversor é mais estrito do que a especificação e dobra tudo o que sai do alfabeto latino simples num sublinhado — a opção prudente para consumidores eles próprios mais estritos do que a especificação, e há muitos.
Posso obter um ficheiro por folha em vez de por livro?
Divide primeiro o livro e depois converte cada pedaço — a divisão escreve um .xlsx por folha e os conversores tomam uma folha de cada vez, por isso esse caminho dá-te exatamente uma saída por separador com os nomes conservados. Converter diretamente um livro de várias folhas dá-te a primeira, o que serve para o caso corrente de um livro que é na verdade uma só tabela.

Artigos que podem interessar-lhe

Todos os guias
ExplicaçãoO ficheiro .ods que é válido e que o teu leitor recusaO OpenDocument torna styles.xml opcional. Vários leitores exigem-no e rejeitam o documento inteiro sem ele — «Cannot find file styles.xml in zip» sobre um ficheiro que não está partido.ExplicaçãoConverter fórmulas em valores guarda a resposta em cache, não o cálculoUm ficheiro de folha de cálculo guarda ao mesmo tempo a fórmula e a última resposta calculada pelo Excel. Retirar a fórmula deixa a resposta guardada — e deixa um vazio onde o ficheiro nunca levou nenhuma.TutorialUm ficheiro por separador, e o que uma divisão deixa para trásDividir um livro escreve um .xlsx por folha, com o nome do separador. Leva os valores e não as fórmulas — o comportamento certo quando se trata de enviar a um serviço o seu próprio separador.ExplicaçãoO livro com vinte e três fórmulas que não declarava nenhumaUma célula pode conter uma fórmula e nenhum resultado em cache. Um leitor que salta as células vazias deita fora a fórmula com elas — e anuncia que o ficheiro não tem nenhuma. Uma opção de leitura separa os dois casos.ExplicaçãoUma célula de três espaços conta como vazia, e é de propósitoOs espaços são a razão de ser destas ferramentas. Uma linha de brancos parece vazia, não o é para um teste estrito, e sobrevive em silêncio a todos os filtros que apliques a seguir.TutorialJuntar livros: uma folha cada um, ou uma só tabelaDoze relatórios mensais podem tornar-se doze separadores ou uma tabela de doze meses. Só a segunda se ordena e se soma de uma vez — e é aquela onde as linhas de cabeçalho pedem cuidado.

Ferramentas relacionadas

Fontes

Detetaste um erro neste artigo?