Pular para o conteúdo principal
PulsarKit

Converter feed RSS para CSV

Transforme um feed, uma exportação de produtos ou um arquivo RSS em tabela de planilha. O elemento de registro repetido é achado sozinho, sem XPath.

Solte seus arquivos aqui

.xml, .rss, .xhtml, .txt · até 300 MB

Mais configurações

Como Converter para CSV

  1. 1

    Solte seu arquivo XML

    Arraste um arquivo .xml ou .rss para a página. Ele é validado primeiro, então uma tag de fechamento que falta é informada com a linha e a coluna, em vez de virar meia tabela.

  2. 2

    Confirme o elemento de registro

    O elemento que se repete é detectado e mostrado com o número de registros, como rss.channel.item com quarenta. Escolha outro candidato se esse não for o nível que você queria.

  3. 3

    Converta e baixe o CSV

    Clique no botão e salve a tabela.

As linhas são posts, não tags

A página abre com rss.channel.item em “Elemento que se repete”, o caminho até os posts de um feed RSS 2.0. A página principal do XML para CSV começa em auto. O auto escolhe o elemento que mais se repete, mas olha só dentro do primeiro post. Um feed do WordPress traz 10 posts por padrão, e cada categoria ou tag de um post é um elemento category. Em 21 de outubro de 2026, testamos um feed de 10 posts cujo primeiro post tinha 12 tags. O auto gerou 30 linhas de nomes de tags; a predefinição gerou 10 linhas e 15 colunas. A página não informa o caminho usado, então conte as linhas.

No que cada post se transforma

Cada elemento de um post vira uma coluna: title, link, pubDate, creator, category, guid, description e encoded. Feeds de podcast acrescentam enclosure.@url, enclosure.@length e enclosure.@type. As tags de um post dividem uma célula, como “Jardinagem, Tomates, Sementes”. “Uma coluna por item”, em “Mais configurações”, dá uma coluna para cada tag. As datas ficam como o feed as escreveu: Mon, 19 Oct 2026 08:00:00 +0000. O HTML de description e de content:encoded chega como está, com entidades como ….

Dois cuidados com feeds do WordPress

Quando os comentários estão abertos, o WordPress dá a cada post um link comments e uma contagem slash:comments. “Remover prefixos de namespace” vem ligado, então os dois viram comments e dividem uma célula: “…/#respond, 1”. Desligue essa opção em “Mais configurações” para mantê-los separados; aí os outros nomes também mantêm os prefixos, como em dc:creator. O outro cuidado são os posts longos. Em 21 de outubro de 2026, o feed WordPress News, com 10 posts e 293 KB, virou 10 linhas e 11 colunas em 0,14 segundo. A Microsoft põe o limite de uma célula do Excel em 32.767 caracteres. O HTML de dois posts passou disso, e o mais longo chegou a 127.278.

Feeds Atom, vários feeds e o resultado

Um feed Atom guarda os posts em feed.entry. Aqui, ele recebe a resposta “Este XML não tem um elemento que se repita, por isso não há linhas para montar.” Digite feed.entry ou auto e clique em “Tentar de novo”. Os links e as categorias do Atom ficam em atributos: “Juntar em uma célula” deixa uma vírgula solta, e “Uma coluna por item” os mantém. A página lê um arquivo .xml ou .rss salvo, não o endereço de um feed. Até 20 feeds, com 300 MB no total, chegam como pulsarkit-batch.zip, um CSV para cada um. Nada é enviado, e o CSV para Excel transforma o CSV em uma pasta de trabalho.

Nada é enviado para converter

O validador, o analisador e o gerador de CSV são JavaScript rodando nesta aba do navegador. Nenhuma parte do documento é enviada para um servidor ou registrada, e a ferramenta continua funcionando com a internet desligada. Para continuar em outra ferramenta, o PulsarKit pode guardar neste navegador uma cópia local dos seus dados de entrada ou do seu resultado. Essa cópia pode permanecer depois que você fechar a aba ou reiniciar o navegador. Para apagá-la, limpe os dados de site do PulsarKit.

Perguntas frequentes

Como a ferramenta decide qual elemento é um registro?

Ela conta repetições. Cada caminho até a profundidade seis é examinado em busca de elementos irmãos com o mesmo nome, e o caminho com mais deles vira o registro; se dois caminhos empatam, vence o mais profundo. As alternativas continuam visíveis com as contagens, e você também pode digitar um caminho quando o documento foge do comum.

Para onde vão os atributos do XML?

Cada atributo vira uma coluna com o prefixo @, então um atributo id vira @id e continua diferente de um elemento filho id. Se a sua exportação traz atributos de que você não precisa, mude a opção de atributos para deixá-los de fora: todos são descartados, e a tabela fica mais estreita.

O que acontece com os elementos aninhados dentro de um registro?

Eles viram colunas com nomes separados por ponto, como price.currency, até o limite de profundidade que você definir. Abaixo desse limite, a subárvore inteira é gravada em uma única célula como JSON, o que mantém os dados disponíveis sem gerar milhares de colunas quase vazias.

Por que o CSV começa com uma marca de ordem de bytes?

Para o Excel reconhecer o arquivo como UTF-8 no clique duplo, em vez de adivinhar uma página de código antiga e estragar texto com acentos ou em cirílico. Se o arquivo vai para um script ou para um carregador de banco de dados que não aceita bem essa marca, o UTF-8 sem BOM está a uma configuração de distância.

O Excel mostra tudo em uma coluna só. O que deu errado?

Nada no arquivo. O Excel separa as colunas pelo separador da configuração regional do sistema, que é o ponto e vírgula em boa parte da Europa. Converta de novo com ponto e vírgula selecionado ou use Dados e depois Texto para Colunas no arquivo que você já tem.

Funciona com feed RSS ou Atom?

Sim, esse é o caso mais fácil. A detecção chega sozinha a rss.channel.item ou ao elemento entry equivalente, cada item vira uma linha, e extensões com namespace, como Dublin Core ou tags de mídia, chegam como colunas comuns depois que os prefixos são removidos.

Por que apareceu uma aspa simples antes de um valor que começa com sinal de igual?

Porque, sem ela, uma planilha trataria o valor como fórmula, e um valor vindo de um feed não confiável pode ser montado para executar um comando quando o arquivo é aberto. O apóstrofo no início neutraliza isso. Números negativos simples, como -5, ficam intactos.

Meu arquivo tem um DOCTYPE e foi recusado. Por quê?

Um DOCTYPE que declara entidades é recusado de propósito. Definições de entidades aninhadas podem se expandir em gigabytes de texto e congelar a aba, e as externas podem tentar alcançar arquivos em outros lugares. Remova as declarações de entidades do DOCTYPE, e o documento é convertido normalmente.

Ferramentas relacionadas