Converter ics para xml

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

Uploading…
Os arquivos selecionados excedem o limite total de 15 MB. Selecione arquivos menores ou em menor quantidade.

Seu arquivo é processado instantaneamente e excluído assim que você o baixa.

Como funciona

  1. 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. 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/3

    Baixe o arquivo .xml convertido

    O resultado da conversão está pronto para download.

Como converter ics para xml arquivo

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.

  1. Instale o parser com python -m pip install icalendar.
  2. Leia o arquivo ICS no modo binário e analise-o com Calendar.from_ical().
  3. Percorra os componentes necessários e mapeie cada propriedade de origem para o esquema XML de destino.
  4. Serialize datas e data-horas deliberadamente, preserve as informações de fuso horário e grave XML UTF-8 com uma declaração XML.
  5. 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.

Comparação dos formatos de arquivo ICS e XML
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.

Outras conversões de arquivo .ics

Conversão inversa

Converter para .xml
de outros formatos

Compartilhar nas redes sociais: