Konwertuj dbf do xml

Darmowy konwerter online DBF do XML

Konwertuj tabele DBF do strukturalnego XML, sprawdzając kodowanie, pliki memo oraz zgodność schematu.

Konwertuj DBF na XML online - za darmo

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

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

  2. 2/3

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

Starszy pakiet księgowy, aplikacja GIS lub urządzenie przemysłowe może eksportować rekordy jako DBF, podczas gdy inny system wymaga XML do wymiany, integracji lub archiwizacji. Konwersja tabeli tworzy ustrukturyzowany plik, który inne aplikacje mogą przetwarzać bez oprogramowania przeznaczonego specjalnie dla DBF.

Czym jest format DBF

DBF, nazywany również formatem dBASE, przechowuje dane tabelaryczne w pliku zawierającym nagłówek, definicje pól i rekordy. Typowe typy pól obejmują pola znakowe, liczbowe, daty, logiczne i memo.

Format wywodzi się z dBASE i jest również używany przez FoxPro, Visual FoxPro, Clipper, starsze systemy baz danych oraz wiele aplikacji GIS. Shapefile zwykle zawiera tabelę atrybutów DBF wraz z plikami .shp i .shx. Pola memo mogą wymagać pasującego pliku .dbt lub .fpt; podczas konwersji należy przechowywać te pliki towarzyszące razem z plikiem DBF.

Czym jest format XML

XML przechowuje dane hierarchiczne za pomocą nazwanych elementów i atrybutów. Przekonwertowana tabela DBF jest zwykle reprezentowana przez jeden element główny, jeden powtarzający się element rekordu dla każdego wiersza oraz elementy podrzędne odpowiadające oryginalnym polom:

<records>
  <record>
    <ID>17</ID>
    <NAME>North Depot</NAME>
  </record>
</records>

XML obsługuje UTF-8, przestrzenie nazw, walidację schematu i jawne zagnieżdżanie. Nadaje się do API, obiegów dokumentów i systemów wymagających ustrukturyzowanej wymiany danych, ale zwykle tworzy większe pliki niż CSV lub binarna baza danych. Duże pliki XML należy kompresować za pomocą ZIP lub gzip, gdy istotny jest rozmiar przesyłanych danych.

Nie istnieje uniwersalny układ DBF-to-XML. Aplikacja odbierająca może wymagać określonego elementu głównego, nazwy rekordu, przestrzeni nazw, konwencji nazewnictwa pól lub XML Schema, dlatego poprawny składniowo plik XML może nadal zakończyć się niepowodzeniem podczas importu.

Jak przekonwertować DBF do XML

W przypadku jednorazowej konwersji bez instalowania oprogramowania użyj konwertera na stronie 101convert.com: wybierz plik DBF, prześlij go, rozpocznij konwersję i pobierz wygenerowany plik XML. Jeśli usługa obsługuje pliki towarzyszące, zachowaj wymagany plik memo .dbt lub .fpt razem z plikiem DBF. Nie przesyłaj poufnych rekordów do usługi online, chyba że zezwala na to jej polityka postępowania z danymi.

W przypadku powtarzalnego przetwarzania lub kontroli nad strukturą XML Python i pakiet dbfread zapewniają praktyczną metodę desktopową:

  1. Zainstaluj Python i bibliotekę odczytu:
python -m pip install dbfread
  1. Zapisz poniższy kod jako dbf_to_xml.py. Zastąp nazwy plików wejściowego i wyjściowego oraz ustaw encoding zgodnie z rzeczywistą stroną kodową DBF.
import re
from dbfread import DBF
from xml.etree.ElementTree import Element, SubElement, ElementTree

input_file = "data.dbf"
output_file = "data.xml"

def xml_name(value):
    name = re.sub(r"[^A-Za-z0-9_.-]", "_", str(value).strip())
    if not name or not re.match(r"[A-Za-z_]", name):
        name = "field_" + name
    return name

table = DBF(input_file, load=False, encoding="cp1252")
root = Element("records")

for row in table:
    record = SubElement(root, "record")
    for field, value in row.items():
        element = SubElement(record, xml_name(field))
        if value is not None:
            element.text = str(value)

ElementTree(root).write(output_file, encoding="utf-8", xml_declaration=True)
  1. Uruchom skrypt z folderu zawierającego plik DBF:
python dbf_to_xml.py

Skrypt tworzy jeden element record dla każdego wiersza i zapisuje deklarację XML określającą UTF-8. Python automatycznie zastępuje znaki zastrzeżone, takie jak & i <. Wygenerowana struktura jest ogólną reprezentacją; zmodyfikuj nazwy elementów i zagnieżdżenie, gdy miejsce docelowe wymaga określonego schematu.

Programy baz danych na komputery stacjonarne i aplikacje GIS mogą również udostępniać polecenie eksportu, takie jak File → Export lub Table → Export. LibreOffice Calc może otwierać wiele plików DBF, ale jego dane wyjściowe XML lub spreadsheet-XML są specyficzne dla aplikacji i mogą nie pasować do schematu oczekiwanego przez importer API lub bazy danych.

Kontrola jakości i zgodności

  • Kodowanie znaków: Pliki DBF często używają starszych stron kodowych, takich jak CP1252 lub CP850, zamiast UTF-8. Nieprawidłowe ustawienie może uszkodzić znaki diakrytyczne lub tekst zapisany znakami spoza alfabetu łacińskiego. Sprawdź metadane DBF i po konwersji skontroluj reprezentatywne rekordy.
  • Daty i liczby: Daty, wartości dziesiętne i zmiennoprzecinkowe DBF mogą być serializowane w różny sposób przez różne narzędzia. Ustaw jawnie format daty, separator dziesiętny, precyzję i strefę czasową, jeśli miejsce docelowe określa te parametry.
  • Wartości null i puste: Brakująca wartość DBF może stać się pustym elementem XML, pominiętym elementem lub wartością tekstową zależną od używanego narzędzia. Potwierdź, w jaki sposób system docelowy rozróżnia wartość null, pustą, zero i false.
  • Coś nazwy pól: Tradycyjne nazwy pól DBF są często ograniczone do dziesięciu znaków. Spacje, znaki interpunkcyjne, zduplikowane nazwy i nazwy zaczynające się od cyfry mogą wymagać mapowania na prawidłowe nazwy elementów XML; gdy nazwy ulegają zmianie, zachowaj rejestr mapowania pól.
  • Pola memo: Długi tekst może być przechowywany poza plikiem DBF w pliku .dbt lub .fpt. Bez pasującego pliku wartości memo mogą być brakujące lub nieczytelne.
  • Walidacja: Przed zaimportowaniem sprawdź składnię XML danych wyjściowych, liczbę wierszy, nazwy pól, kodowanie, daty, wartości null i tekst zawierający znaki spoza ASCII. Jeśli udostępniono XSD, przeprowadź walidację względem XSD odbiorcy.

Porównanie formatu DBF z XML

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

Porównanie formatów plików DBF i XML
Cecha .DBF dBASE Database File .XML Extensible Markup Language
Czytelny tekstowo Nie Tak
Typy danych Typowane Typowane
Zagnieżdżone struktury Nie Tak
Formuły Nie Nie
Wiele tabel lub arkuszy Nie —
Typowy rozmiar pliku Mały Mały
Otwarty standard Częściowo otwarty Tak
Najlepszy do Wymiana danych Wymiana danych
Wprowadzono 1983 1998
Twórca Ashton-Tate / dBASE, Inc. (format origin) W3C
Typ MIME application/x-dbf application/xml

Najczęściej zadawane pytania

Czy konwerter DBF do XML jest darmowy?

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

Możesz przesłać pliki DBF o rozmiarze do 50 MB i przekonwertować do 20 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ć DBF do XML?

Nie. Konwersja DBF 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 DBF dla tej konwersji z DBF 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ę.