Konversi ics ke xml

Konverter online gratis ICS ke XML

Konversi acara kalender dari ICS ke XML atau xCal terstandarisasi.

Konversi ICS ke XML online - gratis

Uploading…
File yang dipilih melebihi batas total 9 MB. Pilih file yang lebih sedikit atau lebih kecil.

File Anda diproses secara instan dan dihapus segera setelah Anda mengunduhnya.

Cara kerjanya

  1. 1/3

    Unggah file .ics Anda

    Klik untuk memilih file yang ingin Anda konversi, atau cukup seret dan lepas file ke area yang ditentukan.

  2. 2/3

    Jalankan konversi .ics ke .xml

    Setelah file berhasil diunggah, klik konversi saat Anda siap.

  3. 3/3

    Unduh file .xml hasil konversi

    Hasil konversi siap untuk diunduh.

Bagaimana mengkonversi ics ke xml berkas

Aplikasi kalender atau platform integrasi mungkin memerlukan XML, bukan file iCalendar, untuk mengimpor, melakukan kueri, mengarsipkan, atau bertukar data event. Konversi harus menerjemahkan properti kalender ke dalam kosakata XML; mengubah ekstensi .ics tidak mengonversi file.

Apa itu format ICS

ICS adalah ekstensi nama file yang umum digunakan untuk data iCalendar, dengan sintaks inti yang ditentukan oleh RFC 5545. Ini adalah format teks yang mendukung UTF-8 dengan komponen seperti event VEVENT, tugas VTODO, dan entri VJOURNAL. Properti umum mencakup UID, DTSTART, DTEND, SUMMARY, LOCATION, peserta, aturan pengulangan, alarm, dan definisi zona waktu.

Microsoft Outlook, Apple Calendar, Google Calendar, Mozilla Thunderbird, dan banyak sistem penjadwalan dapat membuat atau mengimpor file ICS. File ini umum digunakan untuk undangan event, ekspor kalender, pemindahan janji temu, dan lampiran rapat. ICS adalah data kalender, bukan format kontak atau CAD.

Apa itu format XML

XML adalah format teks hierarkis yang merepresentasikan data terstruktur dengan elemen, atribut, namespace, dan definisi skema opsional. XML mendukung validasi dengan XSD, kueri dengan XPath, dan transformasi dengan XSLT, sehingga sesuai untuk sistem yang memerlukan struktur pertukaran atau pengarsipan yang ditentukan.

XML tidak memiliki kosakata kalender bawaan yang universal. Aplikasi penerima harus menentukan nama elemen, namespace, field yang wajib diisi, dan tipe data. xCal, yang ditentukan oleh RFC 6321, adalah representasi XML standar untuk data iCalendar; gunakan xCal jika sistem target mendukungnya. Jika tidak, petakan properti ICS ke skema XML khusus milik penerima.

Cara mengonversi file ICS ke XML

Untuk konversi satu kali, gunakan converter di 101convert.com: upload file .ics, pilih XML sebagai format output, mulai konversi, lalu download file .xml yang dihasilkan. Periksa struktur elemen yang dibuat berdasarkan persyaratan aplikasi pengimpor. Jangan upload kalender yang berisi informasi rahasia kecuali ketentuan penanganan dan penyimpanan layanan tersebut dapat diterima.

Untuk konversi berulang atau file yang memerlukan pemetaan field terkendali, gunakan parser, bukan regular expressions. Package icalendar untuk Python dapat mem-parsing baris terlipat, teks yang di-escape, tanggal, zona waktu, dan komponen kalender; module xml.etree.ElementTree dari standard library dapat menulis XML.

  1. Instal parser dengan python -m pip install icalendar.
  2. Baca file ICS dalam binary mode dan parse dengan Calendar.from_ical().
  3. Iterasikan komponen yang diperlukan dan petakan setiap properti sumber ke skema XML target.
  4. Serialisasikan tanggal dan date-time secara cermat, pertahankan informasi zona waktu, lalu tulis XML UTF-8 dengan deklarasi XML.
  5. Validasi hasil terhadap XSD milik penerima, atau buat struktur xCal RFC 6321 jika itu adalah format yang diperlukan.
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
)

Script ini membuat kosakata XML khusus yang kecil, bukan xCal. Perluas pemetaan untuk peserta, penyelenggara, alarm, lampiran, aturan pengulangan, RECURRENCE-ID, EXDATE, dan properti lainnya, atau ganti nama elemen dan namespace dengan yang diwajibkan oleh skema target.

Pemeriksaan kualitas dan kompatibilitas

Mengubah nama calendar.ics menjadi calendar.xml membuat sintaks internal iCalendar tetap sama dan tidak menghasilkan XML yang valid.

Penanganan waktu memerlukan perhatian khusus. Pertahankan nilai TZID, offset UTC, waktu floating, dan aturan daylight-saving. Mengonversi waktu lokal menjadi string tanpa informasi zona waktu dapat menggeser janji temu ketika sistem lain menafsirkannya dalam zona waktu yang berbeda. Pertahankan aturan pengulangan dan pengecualiannya, termasuk RECURRENCE-ID dan EXDATE.

Setelah konversi, verifikasi event berulang, event sepanjang hari, alarm, peserta, data penyelenggara, lampiran, teks non-ASCII, dan event yang dibatalkan. Parser iCalendar harus mendekode baris terlipat dan nilai yang di-escape seperti \,, \;, dan \n; penggantian string dasar dapat merusak batas field atau teks.

ICS vs XML: perbandingan format

Bagaimana format ICS dan XML dibandingkan pada properti yang paling penting untuk konversi ini.

Perbandingan format file ICS dan XML
Properti .ICS vCalendar/iCalendar file .XML Extensible Markup Language
Dapat dibaca teks biasa Ya Ya
Tipe data Bertipe Bertipe
Struktur bertingkat Ya Ya
Rumus Tidak Tidak
Beberapa tabel atau sheet Tidak —
Ukuran file umum Kecil Kecil
Standar terbuka Ya Ya
Paling cocok untuk Berbagi dan distribusi Pertukaran data
Diperkenalkan 1998 1998
Pengembang Internet Engineering Task Force (IETF) W3C
Tipe MIME text/calendar application/xml

Basis data saat ini tidak berisi ics file converter.

Pertanyaan yang sering diajukan

Apakah konverter ICS ke XML gratis?

Ya, mengonversi ICS ke XML di 101convert.com sepenuhnya gratis. Tidak perlu registrasi, alamat email, atau instalasi. Jika Anda membutuhkan batas ukuran file yang lebih besar atau ingin mengonversi lebih banyak file sekaligus, lihat paket kami.

Seberapa besar file ICS yang bisa saya unggah?

Anda dapat mengunggah file ICS hingga 15 MB dan mengonversi hingga 100 file sekaligus dalam satu batch.

Apa yang terjadi pada file yang saya unggah?

File diproses secara otomatis dan dihapus dari server kami beberapa menit setelah konversi. Kami tidak pernah melihat atau membagikan file Anda.

Apakah saya perlu menginstal perangkat lunak untuk mengonversi ICS ke XML?

Tidak. Konversi ICS ke XML berjalan sepenuhnya online di browser dan berfungsi di Windows, Mac, Linux, Android, dan iPhone.

Konversi gagal?

Dalam sebagian besar kasus, penyebabnya adalah format file yang tidak sesuai. Unggah file ICS yang valid untuk konversi ICS ke XML ini. Terkadang masalah juga dapat terjadi di pihak kami. Kami menganalisis kegagalan konversi yang berulang dan menonaktifkan atau memperbaiki konverter jika menemukan kerusakan.

Konversi berkas ics lainnya

Konversi terbalik

Konversi ke xml
dari format lain

Bagikan di media sosial: