Konwertuj ics do xml

Darmowy konwerter online ICS do XML

Konwertuj wydarzenia kalendarza z ICS do XML lub ustandaryzowanego formatu xCal.

Konwertuj ICS na XML online - za darmo

Uploading…
Wybrane pliki przekraczają łączny limit 15 MB. Wybierz mniej lub mniejsze pliki.

Plik jest przetwarzany natychmiast i usuwany zaraz po pobraniu.

Jak to działa

  1. 1/3

    Prześlij swój plik .ics

    Kliknij, aby wybrać plik, który chcesz przekonwertować, lub po prostu przeciągnij go i upuść w zaznaczonym obszarze.

  2. 2/3

    Wykonaj konwersję .ics do .xml

    Po pomyślnym przesłaniu pliku kliknij konwersję, gdy będziesz gotowy.

  3. 3/3

    Pobierz przekonwertowany plik .xml

    Wynik konwersji jest gotowy do pobrania.

Jak konwertować ics do xml

Aplikacja kalendarza lub platforma integracyjna może wymagać formatu XML zamiast pliku iCalendar w celu importowania, wysyłania zapytań, archiwizowania lub wymiany danych zdarzeń. Konwersja musi przekształcać właściwości kalendarza na słownictwo XML; zmiana rozszerzenia .ics nie konwertuje pliku.

Czym jest format ICS

ICS to rozszerzenie nazwy pliku powszechnie używane dla danych iCalendar, których podstawowa składnia została zdefiniowana w RFC 5545. Jest to format tekstowy obsługujący UTF-8, zawierający takie komponenty jak zdarzenia VEVENT, zadania VTODO i wpisy VJOURNAL. Typowe właściwości obejmują UID, DTSTART, DTEND, SUMMARY, LOCATION, uczestników, reguły cykliczności, alarmy i definicje stref czasowych.

Microsoft Outlook, Apple Calendar, Google Calendar, Mozilla Thunderbird i wiele systemów planowania tworzą lub importują pliki ICS. Są one powszechnie używane do zaproszeń na wydarzenia, eksportowania kalendarzy, przenoszenia terminów i załączania spotkań. ICS zawiera dane kalendarza, a nie dane kontaktów ani format CAD.

Czym jest format XML

XML to hierarchiczny format tekstowy, który reprezentuje dane strukturalne za pomocą elementów, atrybutów, przestrzeni nazw i opcjonalnych definicji schematów. XML obsługuje walidację za pomocą XSD, wysyłanie zapytań za pomocą XPath oraz transformację za pomocą XSLT, dzięki czemu nadaje się do systemów wymagających określonej struktury wymiany lub archiwizacji.

XML nie ma uniwersalnego, wbudowanego słownictwa kalendarza. Aplikacja odbierająca musi określić nazwy elementów, przestrzenie nazw, wymagane pola i typy danych. xCal, zdefiniowany w RFC 6321, jest standaryzowaną reprezentacją danych iCalendar w XML; użyj go, gdy system docelowy obsługuje xCal. W przeciwnym razie zmapuj właściwości ICS na niestandardowy schemat XML odbiorcy.

Jak przekonwertować plik ICS na XML

W przypadku jednorazowej konwersji użyj konwertera na stronie 101convert.com: prześlij plik .ics, wybierz XML jako format wyjściowy, rozpocznij konwersję i pobierz wynikowy plik .xml. Sprawdź strukturę wygenerowanych elementów pod kątem wymagań aplikacji importującej. Nie przesyłaj kalendarzy zawierających poufne informacje, chyba że warunki przetwarzania i przechowywania danych przez usługę są akceptowalne.

W przypadku powtarzalnych konwersji lub plików wymagających kontrolowanego mapowania pól użyj parsera zamiast wyrażeń regularnych. Pakiet icalendar dla Python analizuje łamane wiersze, znaki specjalne, daty, strefy czasowe i komponenty kalendarza; moduł standardowej biblioteki xml.etree.ElementTree zapisuje XML.

  1. Zainstaluj parser za pomocą python -m pip install icalendar.
  2. Odczytaj plik ICS w trybie binarnym i przeanalizuj go za pomocą Calendar.from_ical().
  3. Przejdź przez wymagane komponenty i zmapuj każdą właściwość źródłową na docelowy schemat XML.
  4. Świadomie serializuj daty i daty z godziną, zachowaj informacje o strefie czasowej oraz zapisz XML w kodowaniu UTF-8 z deklaracją XML.
  5. Zweryfikuj wynik względem XSD odbiorcy lub wygeneruj strukturę xCal zgodną z RFC 6321, jeśli jest to wymagany format.
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
)

Ten skrypt tworzy niewielkie niestandardowe słownictwo XML, a nie xCal. Rozszerz mapowanie o uczestników, organizatorów, alarmy, załączniki, reguły cykliczności, RECURRENCE-ID, EXDATE i inne właściwości albo zastąp nazwy elementów i przestrzenie nazw wymaganymi przez docelowy schemat.

Kontrola jakości i zgodności

Zmiana nazwy calendar.ics na calendar.xml pozostawia wewnętrzną składnię iCalendar bez zmian i nie tworzy poprawnego XML.

Obsługa czasu wymaga szczególnej uwagi. Zachowaj wartości TZID, przesunięcia UTC, czasy bez określonej strefy oraz reguły czasu letniego. Konwersja czasu lokalnego na zwykły ciąg znaków może przesunąć terminy, gdy inny system zinterpretuje go w innej strefie czasowej. Zachowaj reguły cykliczności i ich wyjątki, w tym RECURRENCE-ID i EXDATE.

Po konwersji sprawdź zdarzenia cykliczne, zdarzenia całodniowe, alarmy, uczestników, dane organizatora, załączniki, tekst zawierający znaki spoza ASCII oraz anulowane zdarzenia. Parser iCalendar musi dekodować łamane wiersze i wartości ze znakami specjalnymi, takie jak \,, \; i \n; podstawowa zamiana ciągów może uszkodzić granice pól lub tekst.

Porównanie formatu ICS z XML

Jak formaty ICS i XML wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.

Porównanie formatów plików ICS i XML
Cecha .ICS vCalendar/iCalendar file .XML Extensible Markup Language
Czytelny tekstowo Tak Tak
Typy danych Typowane Typowane
Zagnieżdżone struktury Tak Tak
Formuły Nie Nie
Wiele tabel lub arkuszy Nie —
Typowy rozmiar pliku Mały Mały
Otwarty standard Tak Tak
Najlepszy do Udostępnianie i dystrybucja Wymiana danych
Wprowadzono 1998 1998
Twórca Internet Engineering Task Force (IETF) W3C
Typ MIME text/calendar application/xml

Baza danych obecnie nie zawiera żadnych bezpośrednich linków do konwerterów plików ics.

Najczęściej zadawane pytania

Czy konwerter ICS do XML jest darmowy?

Tak, konwersja ICS do XML na 101convert.com jest całkowicie darmowa. Nie wymaga rejestracji, adresu e-mail ani instalacji. Jeśli potrzebujesz wyższego limitu rozmiaru pliku lub chcesz konwertować więcej plików naraz, sprawdź nasze plany.

Jak duży może być mój plik ICS?

Możesz przesłać pliki ICS o rozmiarze do 15 MB i przekonwertować do 100 plików jednocześnie w jednej partii.

Co dzieje się z przesłanymi plikami?

Pliki są przetwarzane automatycznie i usuwane z naszych serwerów kilka minut po konwersji. Nigdy nie przeglądamy ani nie udostępniamy Twoich plików.

Czy muszę instalować oprogramowanie, aby przekonwertować ICS do XML?

Nie. Konwersja ICS do XML odbywa się całkowicie online w przeglądarce i działa w systemach Windows, Mac, Linux, Android i iPhone.

Konwersja nie powiodła się?

W większości przypadków przyczyną jest nieprawidłowy format pliku. Prześlij prawidłowy plik ICS dla tej konwersji z ICS do XML. Czasami problem może również występować po naszej stronie. Analizujemy powtarzające się nieudane konwersje i wyłączamy lub naprawiamy konwerter, jeśli wykryjemy usterkę.

Dodatkowe formaty dla konwersji pliku
ics

Konwersja odwrotna

Konwersja do .xml
z innych formatów

Udostępnij w mediach społecznościowych: