Konwertuj vcard do xml

Darmowy konwerter online VCARD do XML

Konwertuj rekordy kontaktów .vcf do formatu XML na potrzeby importów, archiwizacji i integracji danych.

Konwertuj VCARD na XML online - za darmo

Uploading…
Wybrane pliki przekraczają łączny limit 9 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 .vcard

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

  2. 2/3

    Wykonaj konwersję .vcard 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ć vcard do xml

Program CRM, archiwum lub integracji może wymagać formatu XML zamiast pliku .vcf wyeksportowanego przez telefon lub aplikację kontaktów. Konwersja rekordów udostępnia je oprogramowaniu, które sprawdza poprawność, wykonuje zapytania, przekształca lub importuje określoną strukturę XML.

Czym jest vCard

vCard to tekstowy format kontaktów, zwykle zapisywany z rozszerzeniem .vcf. Każdy rekord jest ujęty między BEGIN:VCARD i END:VCARD i może zawierać imiona i nazwiska, numery telefonów, adresy email, adresy pocztowe, organizacje, daty urodzenia, zdjęcia, notatki oraz właściwości niestandardowe.

Telefony, Microsoft Outlook, Apple Contacts, Google Contacts, Thunderbird, systemy CRM i aplikacje pocztowe często tworzą lub eksportują vCard. Jeden plik może zawierać jeden kontakt lub wiele kontaktów. Wersje 2.1, 3.0 i 4.0 różnią się składnią właściwości, kodowaniem znaków, parametrami i obsługiwanymi funkcjami.

Czym jest XML

XML to hierarchiczny format tekstowy, który reprezentuje dane za pomocą elementów, atrybutów, przestrzeni nazw i wartości tekstowych. Obsługuje walidację względem schematu XSD, wykonywanie zapytań i transformacji za pomocą narzędzi XML oraz integrację z aplikacjami definiującymi format importu XML.

XML zazwyczaj nie oznacza jednej uniwersalnej struktury kontaktów. Standaryzowany format xCard, zdefiniowany przez RFC 6351, reprezentuje vCard 4.0 w XML, jednak wiele programów wymaga zamiast tego zastrzeżonego schematu z innymi nazwami elementów, przestrzeniami nazw i zagnieżdżeniami. Przed wyborem struktury wyjściowej sprawdź dokumentację aplikacji odbierającej, schemat XSD lub przykładowy plik XML.

Jak przekonwertować plik

Użyj 101convert.com

Na stronie 101convert.com wybierz konwersję VCARD-to-XML, prześlij plik .vcf, rozpocznij konwersję i pobierz wynikowy plik .xml. Jest to odpowiednie rozwiązanie, gdy struktura XML konwertera odpowiada programowi importującemu, a dane kontaktów mogą być przetwarzane online; w przypadku książek adresowych, które muszą pozostać na urządzeniu, użyj metody lokalnej.

Otwórz wynik w edytorze obsługującym XML i sprawdź, czy jest poprawnie sformowany. Pomyślne pobranie pliku nie gwarantuje, że program docelowy zaakceptuje schemat ani zachowa każdą właściwość vCard.

Konwersja lokalna za pomocą Python

W przypadku danych prywatnych lub powtarzalnego przetwarzania analizuj vCard za pomocą pakietu vobject, zamiast mechanicznie zastępować wiersze. Poniższy skrypt tworzy prostą niestandardową strukturę XML i zachowuje nazwę każdej właściwości, zestaw parametrów oraz tekstową reprezentację jej wartości:

python -m pip install vobject
import sys
import vobject
import xml.etree.ElementTree as ET

source, destination = sys.argv[1:3]
root = ET.Element("contacts")

with open(source, "r", encoding="utf-8-sig", newline="") as file:
    for card in vobject.readComponents(file):
        contact = ET.SubElement(root, "contact")
        for name, properties in card.contents.items():
            for prop in properties:
                element = ET.SubElement(contact, "property", {"name": name})
                for key, values in prop.params.items():
                    element.set(key.lower(), ",".join(str(value) for value in values))
                value = prop.value
                if isinstance(value, (list, tuple)):
                    element.text = ";".join(str(part) for part in value)
                else:
                    element.text = "" if value is None else str(value)

ET.indent(root, space="  ")
ET.ElementTree(root).write(destination, encoding="utf-8", xml_declaration=True)

Zapisz go jako vcard_to_xml.py i uruchom za pomocą Python 3.9 lub nowszego:

python vcard_to_xml.py contacts.vcf contacts.xml

W wyniku powstaną elementy takie jak <contacts>, <contact> i <property name="tel">. Jest to punkt wyjścia, a nie uniwersalny format importu. Zmień nazwy elementów, przestrzeń nazw, sposób reprezentacji parametrów, format daty i obsługę wartości strukturalnych, aby odpowiadały schematowi docelowemu. Jeśli miejsce docelowe akceptuje xCard, zaimplementuj mapowanie elementów i przestrzeni nazw zgodne z RFC 6351 zamiast używać tej niestandardowej struktury.

Kontrola jakości i zgodności

Poprawny XML nie musi być zgodnym XML. Programy importujące mogą wymagać określonego elementu głównego, przestrzeni nazw, zagnieżdżenia kontaktów, nazw pól, składni typów telefonów i adresów email, formatu daty lub wersji xCard. Jeśli dostarczono schemat XSD, sprawdź względem niego poprawność wyniku i przetestuj go na kopii docelowej książki adresowej.

Używaj parsera vCard do obsługi łamanych wierszy, wartości quoted-printable, tekstu UTF-8, znaków specjalnych, parametrów właściwości, powtarzających się właściwości i reguł specyficznych dla wersji. Konwersja wiersz po wierszu może uszkodzić wielowierszowe notatki, nazwy zawierające znaki spoza ASCII, etykiety telefonów lub adresy.

Przykładowy skrypt konwertuje wartości na tekst i może nie zachować pełnego znaczenia pól strukturalnych, takich jak ADR i ORG, zdjęć binarnych, członkostwa w grupach, stref czasowych, pól prywatnych lub rozszerzeń dostawcy. Sprawdź rekordy zawierające wiele numerów telefonów, powtarzające się adresy email, zdjęcia i notatki. Jeśli każda funkcja vCard musi zostać zachowana, użyj udokumentowanego schematu xCard lub schematu dostawcy i zachowaj oryginalny plik .vcf jako wiarygodną kopię zapasową.

Porównanie formatu VCARD z XML

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

Porównanie formatów plików VCARD i XML
Cecha .VCARD vCard .XML Extensible Markup Language
Czytelny tekstowo Tak Tak
Typy danych Częściowo Typowane
Zagnieżdżone struktury Tak Tak
Formuły Nie Nie
Wiele tabel lub arkuszy Nie —
Typowy rozmiar pliku Bardzo mały Mały
Otwarty standard Tak Tak
Najlepszy do Udostępnianie i dystrybucja Wymiana danych
Wprowadzono 1996 1998
Twórca IETF W3C
Typ MIME text/vcard application/xml

Najczęściej zadawane pytania

Czy konwerter VCARD do XML jest darmowy?

Tak, konwersja VCARD 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 VCARD?

Możesz przesłać pliki VCARD 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ć VCARD do XML?

Nie. Konwersja VCARD 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 VCARD dla tej konwersji z VCARD 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
vcard

Konwersja odwrotna

Konwersja do .xml
z innych formatów

Udostępnij w mediach społecznościowych: