Convertir ics a xml

Convertidor online gratuito de ICS a XML

Convierte eventos de calendario de ICS a XML o xCal estandarizado.

Convertir ICS a XML online - gratis

Uploading…
Los archivos seleccionados superan el límite total de 9 MB. Selecciona archivos más pequeños o en menor cantidad.

Tu archivo se procesa al instante y se elimina en cuanto lo descargas.

Cómo funciona

  1. 1/3

    Sube tu archivo .ics

    Haz clic para seleccionar el archivo que quieres convertir o simplemente arrástralo y suéltalo en el área indicada.

  2. 2/3

    Realiza la conversión de .ics a .xml

    Una vez subido el archivo correctamente, haz clic en convertir cuando estés listo.

  3. 3/3

    Descarga el archivo .xml convertido

    El resultado de la conversión está listo para descargar.

Cómo convertir un archivo ics a xml

Una aplicación de calendario o una plataforma de integración puede requerir XML en lugar de un archivo iCalendar para importar, consultar, archivar o intercambiar datos de eventos. La conversión debe traducir las propiedades del calendario a un vocabulario XML; cambiar la extensión .ics no convierte el archivo.

Qué es el formato ICS

ICS es la extensión de nombre de archivo utilizada habitualmente para los datos de iCalendar, cuya sintaxis principal está definida por RFC 5545. Es un formato de texto compatible con UTF-8 que incluye componentes como eventos VEVENT, tareas VTODO y entradas VJOURNAL. Entre las propiedades comunes se incluyen UID, DTSTART, DTEND, SUMMARY, LOCATION, asistentes, reglas de recurrencia, alarmas y definiciones de zonas horarias.

Microsoft Outlook, Apple Calendar, Google Calendar, Mozilla Thunderbird y muchos sistemas de programación crean o importan archivos ICS. Se utilizan habitualmente para invitaciones a eventos, exportaciones de calendarios, transferencias de citas y archivos adjuntos de reuniones. ICS contiene datos de calendario, no es un formato de contactos ni de CAD.

Qué es el formato XML

XML es un formato de texto jerárquico que representa datos estructurados mediante elementos, atributos, espacios de nombres y definiciones de esquema opcionales. XML admite la validación con XSD, las consultas con XPath y la transformación con XSLT, por lo que resulta adecuado para sistemas que requieren una estructura de intercambio o archivado definida.

XML no tiene un vocabulario de calendario universal integrado. La aplicación receptora debe especificar los nombres de sus elementos, espacios de nombres, campos obligatorios y tipos de datos. xCal, definido por RFC 6321, es la representación XML estandarizada de los datos de iCalendar; úselo cuando el sistema de destino sea compatible con xCal. De lo contrario, asigne las propiedades de ICS al esquema XML personalizado del receptor.

Cómo convertir un archivo ICS a XML

Para una conversión puntual, utilice el conversor de 101convert.com: cargue el archivo .ics, elija XML como formato de salida, inicie la conversión y descargue el archivo .xml resultante. Compruebe que la estructura de elementos generada coincida con los requisitos de la aplicación que realizará la importación. No cargue calendarios que contengan información confidencial a menos que las condiciones de tratamiento y conservación del servicio sean aceptables.

Para conversiones repetibles o archivos que requieran una asignación de campos controlada, utilice un analizador en lugar de expresiones regulares. El paquete icalendar de Python analiza líneas plegadas, texto escapado, fechas, zonas horarias y componentes de calendario; el módulo xml.etree.ElementTree de la biblioteca estándar escribe XML.

  1. Instale el analizador con python -m pip install icalendar.
  2. Lea el archivo ICS en modo binario y analícelo con Calendar.from_ical().
  3. Recorra los componentes necesarios y asigne cada propiedad de origen al esquema XML de destino.
  4. Serialice las fechas y fechas-horas de forma deliberada, conserve la información de zona horaria y escriba XML UTF-8 con una declaración XML.
  5. Valide el resultado con el XSD del receptor o genere la estructura xCal de RFC 6321 si ese es el formato requerido.
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 crea un vocabulario XML personalizado pequeño, no xCal. Amplíe la asignación para incluir asistentes, organizadores, alarmas, archivos adjuntos, reglas de recurrencia, RECURRENCE-ID, EXDATE y otras propiedades, o sustituya los nombres de elementos y espacios de nombres por los requeridos por el esquema de destino.

Comprobaciones de calidad y compatibilidad

Cambiar el nombre de calendar.ics a calendar.xml deja sin cambios la sintaxis interna de iCalendar y no produce XML válido.

El tratamiento de las horas requiere especial cuidado. Conserve los valores de TZID, las compensaciones UTC, las horas flotantes y las reglas de horario de verano. Convertir una hora local en una cadena simple puede cambiar las citas cuando otro sistema la interpreta en una zona horaria diferente. Conserve las reglas de recurrencia y sus excepciones, incluidas RECURRENCE-ID y EXDATE.

Después de la conversión, verifique los eventos recurrentes, los eventos de día completo, las alarmas, los asistentes, los datos del organizador, los archivos adjuntos, el texto no ASCII y los eventos cancelados. Un analizador de iCalendar debe descodificar las líneas plegadas y los valores escapados como \,, \; y \n; la sustitución básica de cadenas puede corromper los límites de los campos o el texto.

ICS vs XML: comparación de formatos

Cómo se comparan los formatos ICS y XML en las propiedades que más importan para esta conversión.

Comparación de los formatos de archivo ICS y XML
Propiedad .ICS vCalendar/iCalendar file .XML Extensible Markup Language
Legible como texto plano Sí Sí
Tipos de datos Tipado Tipado
Estructuras anidadas Sí Sí
Fórmulas No No
Varias tablas o hojas No —
Tamaño de archivo típico Pequeño Pequeño
Estándar abierto Sí Sí
Más adecuado para Compartir y distribución Intercambio de datos
Introducido 1998 1998
Desarrollador Internet Engineering Task Force (IETF) W3C
Tipo MIME text/calendar application/xml

La base de datos actualmente no contiene ningún convertidor de archivos ics.

Preguntas frecuentes

¿Es gratuito el convertidor de ICS a XML?

Sí, convertir ICS a XML en 101convert.com es totalmente gratuito. No se requiere registro, correo electrónico ni instalación. Si necesitas un límite de tamaño de archivo mayor o quieres convertir más archivos a la vez, consulta nuestros planes.

¿Qué tamaño puede tener mi archivo ICS?

Puedes subir archivos ICS de hasta 15 MB y convertir hasta 100 archivos a la vez en un solo lote.

¿Qué ocurre con mis archivos subidos?

Los archivos se procesan automáticamente y se eliminan de nuestros servidores pocos minutos después de la conversión. Nunca vemos ni compartimos tus archivos.

¿Necesito instalar algún programa para convertir ICS a XML?

No. La conversión de ICS a XML se realiza completamente online en tu navegador y funciona en Windows, Mac, Linux, Android y iPhone.

¿Ha fallado la conversión?

En la mayoría de los casos, la causa es un formato de archivo incorrecto. Sube un archivo ICS válido para esta conversión de ICS a XML. En ocasiones, el problema también puede estar de nuestro lado. Analizamos los fallos de conversión recurrentes y desactivamos o reparamos el convertidor si detectamos algún defecto.

Otras conversiones de archivos .ics

Conversión inversa

Convertir a .xml
desde otros formatos

Compartir en redes sociales: