Darmowy konwerter online ICS do XML
Konwertuj wydarzenia kalendarza z ICS do XML lub ustandaryzowanego formatu xCal.
Konwertuj ICS na XML online - za darmo
Plik jest przetwarzany natychmiast i usuwany zaraz po pobraniu.
Zaimportuj plik z adresu URL
Wklej bezpośredni link do pliku. Pobierzemy go na nasz serwer i przekonwertujemy dokładnie tak jak przesłany plik.
Jak to działa
-
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/3
Wykonaj konwersję .ics do .xml
Po pomyślnym przesłaniu pliku kliknij konwersję, gdy będziesz gotowy.
-
3/3
Pobierz przekonwertowany plik .xml
Wynik konwersji jest gotowy do pobrania.
Jak konwertować ics do xml
- Kontakty i książki adresowe
- Brak ocen.
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.
- Zainstaluj parser za pomocą
python -m pip install icalendar. - Odczytaj plik ICS w trybie binarnym i przeanalizuj go za pomocą
Calendar.from_ical(). - Przejdź przez wymagane komponenty i zmapuj każdą właściwość źródłową na docelowy schemat XML.
- Świadomie serializuj daty i daty z godziną, zachowaj informacje o strefie czasowej oraz zapisz XML w kodowaniu UTF-8 z deklaracją XML.
- 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.
| 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ę.