Conversor online gratuito de ICS para XML
Converta eventos de calendário de ICS para XML ou xCal padronizado.
Converter ICS para XML online - grátis
Seu arquivo é processado instantaneamente e excluído assim que você o baixa.
Importar um arquivo de uma URL
Cole um link direto para o arquivo. Nós o baixamos no nosso servidor e ele é convertido exatamente como um arquivo enviado.
Como funciona
-
1/3
Envie seu arquivo .ics
Clique para selecionar o arquivo que deseja converter ou simplesmente arraste e solte o arquivo na área indicada.
-
2/3
Faça a conversão de .ics para .xml
Após o envio do arquivo, clique em converter quando estiver pronto.
-
3/3
Baixe o arquivo .xml convertido
O resultado da conversão está pronto para download.
Como converter ics para xml arquivo
- Contatos e agendas de endereços
- Nenhuma avaliação ainda.
Um aplicativo de calendário ou uma plataforma de integração pode exigir XML em vez de um arquivo iCalendar para importar, consultar, arquivar ou trocar dados de eventos. A conversão deve traduzir as propriedades do calendário para um vocabulário XML; alterar a extensão .ics não converte o arquivo.
O que é o formato ICS
ICS é a extensão de nome de arquivo comumente usada para dados iCalendar, cuja sintaxe principal é definida pela RFC 5545. É um formato de texto compatível com UTF-8, com componentes como eventos VEVENT, tarefas VTODO e entradas VJOURNAL. As propriedades comuns incluem UID, DTSTART, DTEND, SUMMARY, LOCATION, participantes, regras de recorrência, alarmes e definições de fuso horário.
Microsoft Outlook, Apple Calendar, Google Calendar, Mozilla Thunderbird e muitos sistemas de agendamento criam ou importam arquivos ICS. Eles são comumente usados para convites de eventos, exportações de calendários, transferências de compromissos e anexos de reuniões. ICS contém dados de calendário, não é um formato de contatos ou CAD.
O que é o formato XML
XML é um formato de texto hierárquico que representa dados estruturados com elementos, atributos, namespaces e definições de esquema opcionais. XML permite validação com XSD, consultas com XPath e transformação com XSLT, sendo adequado para sistemas que exigem uma estrutura definida de intercâmbio ou arquivamento.
XML não possui um vocabulário de calendário universal integrado. O aplicativo receptor deve especificar seus nomes de elementos, namespaces, campos obrigatórios e tipos de dados. xCal, definido pela RFC 6321, é a representação XML padronizada de dados iCalendar; use-o quando o sistema de destino for compatível com xCal. Caso contrário, mapeie as propriedades ICS para o esquema XML personalizado do destinatário.
Como converter um arquivo ICS para XML
Para uma conversão pontual, use o conversor em 101convert.com: carregue o arquivo .ics, escolha XML como formato de saída, inicie a conversão e baixe o arquivo .xml resultante. Verifique a estrutura dos elementos gerados em relação aos requisitos do aplicativo de importação. Não carregue calendários que contenham informações confidenciais, a menos que os termos de tratamento e retenção do serviço sejam aceitáveis.
Para conversões repetíveis ou arquivos que exigem mapeamento controlado de campos, use um parser em vez de expressões regulares. O pacote icalendar do Python analisa linhas dobradas, texto escapado, datas, fusos horários e componentes de calendário; o módulo xml.etree.ElementTree da biblioteca padrão grava XML.
- Instale o parser com
python -m pip install icalendar. - Leia o arquivo ICS no modo binário e analise-o com
Calendar.from_ical(). - Percorra os componentes necessários e mapeie cada propriedade de origem para o esquema XML de destino.
- Serialize datas e data-horas deliberadamente, preserve as informações de fuso horário e grave XML UTF-8 com uma declaração XML.
- Valide o resultado em relação ao XSD do destinatário ou gere a estrutura xCal da RFC 6321 se esse for o formato exigido.
from icalendar import Calendar
import xml.etree.ElementTree as ET
with open("calendar.ics", "rb") as source:
calendar = Calendar.from_ical(source.read())
root = ET.Element("calendar")
for component in calendar.walk("VEVENT"):
event = ET.SubElement(root, "event")
for source_name, target_name in (
("UID", "uid"), ("SUMMARY", "summary"),
("DTSTART", "start"), ("DTEND", "end"),
("LOCATION", "location"), ("DESCRIPTION", "description")
):
value = component.get(source_name)
if value is None:
continue
data = getattr(value, "dt", value)
element = ET.SubElement(event, target_name)
element.text = data.isoformat() if hasattr(data, "isoformat") else str(data)
ET.ElementTree(root).write(
"calendar.xml", encoding="utf-8", xml_declaration=True
)Este script cria um pequeno vocabulário XML personalizado, não xCal. Estenda o mapeamento para participantes, organizadores, alarmes, anexos, regras de recorrência, RECURRENCE-ID, EXDATE e outras propriedades, ou substitua os nomes dos elementos e namespaces pelos exigidos pelo esquema de destino.
Verificações de qualidade e compatibilidade
Renomear calendar.ics para calendar.xml mantém a sintaxe interna do iCalendar inalterada e não produz XML válido.
O tratamento de horários exige atenção especial. Preserve os valores de TZID, os deslocamentos UTC, os horários flutuantes e as regras de horário de verão. Converter um horário local em uma string simples pode alterar os horários dos compromissos quando outro sistema o interpreta em um fuso horário diferente. Preserve as regras de recorrência e suas exceções, incluindo RECURRENCE-ID e EXDATE.
Após a conversão, verifique eventos recorrentes, eventos de dia inteiro, alarmes, participantes, dados do organizador, anexos, texto não ASCII e eventos cancelados. Um parser iCalendar deve decodificar linhas dobradas e valores escapados, como \,, \; e \n; a substituição básica de strings pode corromper os limites dos campos ou o texto.
Comparação de formato: ICS vs XML
Como os formatos ICS e XML se comparam nas propriedades mais importantes para esta conversão.
| Propriedade | .ICS vCalendar/iCalendar file | .XML Extensible Markup Language |
|---|---|---|
| Legível em texto simples | Sim | Sim |
| Tipos de dados | Tipado | Tipado |
| Estruturas aninhadas | Sim | Sim |
| Fórmulas | Não | Não |
| Múltiplas tabelas ou planilhas | Não | — |
| Tamanho típico do arquivo | Pequeno | Pequeno |
| Padrão aberto | Sim | Sim |
| Mais usado para | Partilha e distribuição | Intercâmbio de dados |
| Introduzido | 1998 | 1998 |
| Desenvolvedor | Internet Engineering Task Force (IETF) | W3C |
| Tipo MIME | text/calendar | application/xml |
O banco de dados atualmente não contém nenhum conversor de arquivo ics.
Perguntas frequentes
O conversor de ICS para XML é gratuito?
Sim, converter ICS para XML no 101convert.com é totalmente gratuito. Não é necessário cadastro, e-mail nem instalação. Se você precisa de um limite de tamanho de arquivo maior ou quer converter mais arquivos de uma vez, veja nossos planos.
Qual o tamanho máximo do meu arquivo ICS?
Você pode enviar arquivos ICS de até 15 MB e converter até 100 arquivos de uma vez em um único lote.
O que acontece com os arquivos enviados?
Os arquivos são processados automaticamente e excluídos dos nossos servidores poucos minutos após a conversão. Nunca visualizamos nem compartilhamos seus arquivos.
Preciso instalar algum programa para converter ICS para XML?
Não. A conversão de ICS para XML é feita totalmente online no navegador e funciona no Windows, Mac, Linux, Android e iPhone.
A conversão falhou?
Na maioria dos casos, a causa é um formato de arquivo incorreto. Envie um arquivo ICS válido para esta conversão de ICS para XML. Às vezes, o problema também pode estar do nosso lado. Analisamos falhas de conversão recorrentes e desativamos ou corrigimos o conversor se detectarmos algum defeito.